-
Notifications
You must be signed in to change notification settings - Fork 358
Add instrumentor for Azure Kusto #3591
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
base: main
Are you sure you want to change the base?
Add instrumentor for Azure Kusto #3591
Conversation
Add an option to disable query summarization
57b046e to
0aef4ac
Compare
0aef4ac to
77819be
Compare
| activity?.DisplayName = operationName; | ||
| activity?.AddTag(KustoActivitySourceHelper.ClientRequestIdTagKey, record.Activity.ClientRequestId.ToString()); | ||
|
|
||
| activity?.AddTag(SemanticConventions.AttributeDbSystemName, KustoActivitySourceHelper.DbSystem); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are we sure about the value here? Kusto seems to be the query language and not what is being called. azure.data_explorer would appear to be more accurate.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's worth raising to the group. I could go either way, but lean a bit towards retaining "Kusto" because it feels less ambiguous to me. The Saas product is called "Azure Data Explorer", but the client library is "Microsoft.Azure.Kusto.Data". The rich client UI is called "Kusto Explorer", but the web product is called "Azure Data Explorer Web UI". The provisioning library is "Azure.Provisioning.Kusto"
It's also worth calling out that you can query sources that are backed by Kusto clusters, but are not themselves the Azure Data Explorer Saas product, like Azure Log Analytics.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also a reminder for myself, if we do change the name, we need to update a few other attributes as well to use the same prefix (namely the client request id).
|
|
||
| activity?.AddTag(SemanticConventions.AttributeDbSystemName, KustoActivitySourceHelper.DbSystem); | ||
| activity?.AddTag(SemanticConventions.AttributeDbOperationName, operationName); | ||
| meterTags.Add(SemanticConventions.AttributeDbSystemName, KustoActivitySourceHelper.DbSystem); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are we sure about the value here? Kusto seems to be the query language and not what is being called. azure.data_explorer would appear to be more accurate.
Fixes #3575
Changes
Adds an initial implementation of traces and metrics for any client built on top of the
Microsoft.Azure.Kusto.Cloud.Platformpackage (namely Microsoft.Azure.Kusto.Data and Microsoft.Azure.Kusto.Ingest).The library generally follows the semantic conventions for dbs for both traces and metrics, importantly, it does both query summarization and sanitization. It does not support adding query parameters as tags, as those aren't available in Kusto's internal custom tracing framework. Test coverage includes unit tests, benchmarks both for end-to-end instrumentation and query processing specific, and integration tests using the existing pattern of Testcontainers.
The package is not strong-name signed because it uses
Microsoft.Azure.Kusto.Languagefor query processing, which also is not strong-name signed.Merge requirement checklist
CHANGELOG.mdfiles updated for non-trivial changes