def get_feedback_result(
    tru_record: record_schema.Record, feedback_name: str, timeout: int = 60
) -> pd.DataFrame:
    """
    Retrieve the feedback results including metadata (such as reasons) for a given feedback name from a TruLens record.

    Args:
        tru_record: The record containing feedback and future results.
        feedback_name: The name of the feedback to retrieve results for.

    Returns:
        pd.DataFrame: A DataFrame containing the feedback results. If no feedback
            results are found, an empty DataFrame is returned.
    """
    start_time = time.time()
    feedback_calls = None

    while time.time() - start_time < timeout:
        feedback_calls = next(
            (
                future_result.result()
                for feedback_definition, future_result in tru_record.feedback_and_future_results
                if feedback_definition.name == feedback_name
            ),
            None,
        )
        if feedback_calls is not None:
            break
        time.sleep(1)  # Wait for 1 second before checking again

    if feedback_calls is None:
        raise TimeoutError(
            f"Feedback for '{feedback_name}' not available within {timeout} seconds."
        )

    # Ensure feedback_calls is iterable
    if not hasattr(feedback_calls, "__iter__"):
        raise ValueError("feedback_calls is not iterable")

    feedback_result = [
        {
            **call.model_dump()["args"],
            "score": call.model_dump()["ret"],
            **call.model_dump()["meta"],
        }
        for call in feedback_calls.calls
    ]

    return pd.DataFrame(feedback_result)

    Retrieve the feedback results including metadata (such as reasons) for a given feedback name from a TruLens record.

    Args:
        tru_record: The record containing feedback and future results.
        feedback_name: The name of the feedback to retrieve results for.

    Returns:
        pd.DataFrame: A DataFrame containing the feedback results. If no feedback
            results are found, an empty DataFrame is returned.
    
src/dashboard/trulens/dashboard/display.py