Home / Function/ test_config_traceable_handoff() — langchain Function Reference

test_config_traceable_handoff() — langchain Function Reference

Architecture documentation for the test_config_traceable_handoff() function in test_tracing_interops.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  9ea485df_99d6_52ec_7dfd_d05643292b1a["test_config_traceable_handoff()"]
  0944f1ae_0eea_e3a0_544b_8617adb53dbc["test_tracing_interops.py"]
  9ea485df_99d6_52ec_7dfd_d05643292b1a -->|defined in| 0944f1ae_0eea_e3a0_544b_8617adb53dbc
  7b80fc10_92d1_fc52_4aab_d37efa7bc889["_create_tracer_with_mocked_client()"]
  9ea485df_99d6_52ec_7dfd_d05643292b1a -->|calls| 7b80fc10_92d1_fc52_4aab_d37efa7bc889
  8c16b015_8380_d9f6_e698_f4a12f12a4f5["_get_posts()"]
  9ea485df_99d6_52ec_7dfd_d05643292b1a -->|calls| 8c16b015_8380_d9f6_e698_f4a12f12a4f5
  style 9ea485df_99d6_52ec_7dfd_d05643292b1a fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/core/tests/unit_tests/runnables/test_tracing_interops.py lines 78–156

def test_config_traceable_handoff() -> None:
    if hasattr(get_env_var, "cache_clear"):
        get_env_var.cache_clear()  # type: ignore[attr-defined]
    tracer = _create_tracer_with_mocked_client(
        project_name="another-flippin-project", tags=["such-a-tag"]
    )

    @traceable
    def my_great_great_grandchild_function(a: int) -> int:
        rt = get_current_run_tree()
        assert rt
        assert rt.session_name == "another-flippin-project"
        return a + 1

    @RunnableLambda
    def my_great_grandchild_function(a: int) -> int:
        return my_great_great_grandchild_function(a)

    @RunnableLambda
    def my_grandchild_function(a: int) -> int:
        return my_great_grandchild_function.invoke(a)

    @traceable
    def my_child_function(a: int) -> int:
        return my_grandchild_function.invoke(a) * 3

    @traceable()
    def my_function(a: int) -> int:
        rt = get_current_run_tree()
        assert rt
        assert rt.session_name == "another-flippin-project"
        return my_child_function(a)

    def my_parent_function(a: int) -> int:
        rt = get_current_run_tree()
        assert rt
        assert rt.session_name == "another-flippin-project"
        return my_function(a)

    my_parent_runnable = RunnableLambda(my_parent_function)

    assert my_parent_runnable.invoke(1, {"callbacks": [tracer]}) == 6
    posts = _get_posts(tracer.client)
    assert all(post["session_name"] == "another-flippin-project" for post in posts)
    # There should have been 6 runs created,
    # one for each function invocation
    assert len(posts) == 6
    name_to_body = {post["name"]: post for post in posts}

    ordered_names = [
        "my_parent_function",
        "my_function",
        "my_child_function",
        "my_grandchild_function",
        "my_great_grandchild_function",
        "my_great_great_grandchild_function",
    ]
    trace_id = posts[0]["trace_id"]
    last_dotted_order = None
    parent_run_id = None
    for name in ordered_names:
        id_ = name_to_body[name]["id"]
        parent_run_id_ = name_to_body[name].get("parent_run_id")
        if parent_run_id_ is not None:
            assert parent_run_id == parent_run_id_
        assert name in name_to_body
        # All within the same trace
        assert name_to_body[name]["trace_id"] == trace_id
        dotted_order: str = name_to_body[name]["dotted_order"]
        assert dotted_order is not None
        if last_dotted_order is not None:
            assert dotted_order > last_dotted_order
            assert dotted_order.startswith(last_dotted_order), (
                "Unexpected dotted order for run"
                f" {name}\n{dotted_order}\n{last_dotted_order}"
            )
        last_dotted_order = dotted_order
        parent_run_id = id_
    assert "such-a-tag" in name_to_body["my_parent_function"]["tags"]

Domain

Subdomains

Frequently Asked Questions

What does test_config_traceable_handoff() do?
test_config_traceable_handoff() is a function in the langchain codebase, defined in libs/core/tests/unit_tests/runnables/test_tracing_interops.py.
Where is test_config_traceable_handoff() defined?
test_config_traceable_handoff() is defined in libs/core/tests/unit_tests/runnables/test_tracing_interops.py at line 78.
What does test_config_traceable_handoff() call?
test_config_traceable_handoff() calls 2 function(s): _create_tracer_with_mocked_client, _get_posts.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free