Skip to content

Conversation

@ahadnagy
Copy link
Contributor

@ahadnagy ahadnagy commented Mar 22, 2022

This PR exposes the ability to attach optional metadata to ExecPlans. This metadata will be added to the OpenTelemetry tracing output, annotating the traces with information about the query and the environment (e.g TPC-H query id, scale factor, hardware details).

@ahadnagy ahadnagy marked this pull request as draft March 22, 2022 18:54
@github-actions
Copy link

github-actions bot commented Mar 22, 2022

@ahadnagy ahadnagy changed the title ARROW-15061: [C++][R][Python] Update ExecPlan bindings [WIP] ARROW-15528: [C++][R][Python] Update ExecPlan bindings [WIP] Mar 23, 2022
@ahadnagy ahadnagy marked this pull request as ready for review April 4, 2022 14:15
@ahadnagy ahadnagy changed the title ARROW-15528: [C++][R][Python] Update ExecPlan bindings [WIP] ARROW-15528: [C++][R][Python] Update ExecPlan bindings Apr 5, 2022
@westonpace westonpace self-requested a review April 6, 2022 16:09
Copy link
Member

@westonpace westonpace left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you expand on the comment by explaining why a user might want to attach metadata to the plan?

If we're using this for OT only right now we should say something like:

Optional metadata for the ExecPlan. This information will be attached to tracing output generated by the plan.

Copy link
Member

@westonpace westonpace left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a slightly clear explanation of what is happening but it still doesn't explain why a user might want to do this.

I still don't think users will understand the purpose of the metadata. Why would a user want to attach metadata to a plan?

@ahadnagy
Copy link
Contributor Author

@westonpace I expanded the docstrings with more explanation, let me know if something's unclear in the descriptions.

Copy link
Member

@westonpace westonpace left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for sticking with this. I don't think I realized you were documenting internal methods before. I had thought this was user facing. The new description looks great though. One thought on the R implementation but otherwise this looks good.

}

// [[arrow::export]]
std::shared_ptr<compute::ExecPlan> ExecPlan_create_with_metadata(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems rather odd to me that we would need two methods here but it may just be my ignorance of working with R. Wouldn't it be possible to send an empty value for metadata if the user doesn't want to specify it?

@amol-
Copy link
Member

amol- commented Mar 30, 2023

Closing because it has been untouched for a while, in case it's still relevant feel free to reopen and move it forward 👍

@amol- amol- closed this Mar 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants