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
Source
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