Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement tracing for client methods, transports #1881

Open
heaths opened this issue Oct 29, 2024 · 1 comment
Open

Implement tracing for client methods, transports #1881

heaths opened this issue Oct 29, 2024 · 1 comment
Assignees
Labels
Azure.Core The azure_core crate Client This issue points to a problem in the data-plane of the library.

Comments

@heaths
Copy link
Member

heaths commented Oct 29, 2024

We need to implement tracing for all client methods and transports. PII needs to be sanitized and the safest option it so remove incidental printing of values e.g., derive or implement Debug and/or Display sparingly.

For now we are using the tracing crate and friends because it supports OpenTelemetry et. al. We could consider other options but these crates are fairly ubiquitous. The opentelemetry crate and friends are geared almost entirely to OpenTelemetry and would be good to understand how that is an advantage over something more generic.

@heaths heaths added Azure.Core The azure_core crate Client This issue points to a problem in the data-plane of the library. labels Oct 29, 2024
@heaths heaths self-assigned this Oct 29, 2024
@heaths
Copy link
Member Author

heaths commented Oct 29, 2024

We need to be able to define client-level fields. I opened a tracking issue for some options using the #[tracing::instrument] procedural macro. We could accomplish "client fields" with some boilerplate and/or helper functions in every client method but that gets tedious and error-prone for convenience methods.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Azure.Core The azure_core crate Client This issue points to a problem in the data-plane of the library.
Projects
None yet
Development

No branches or pull requests

1 participant