-
Notifications
You must be signed in to change notification settings - Fork 174
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
Adapt Elasticsearch spec to stability changes #1002
Conversation
a76c5ed
to
0c70118
Compare
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.
Just a couple of minor comments.
Co-authored-by: Liudmila Molkova <limolkova@microsoft.com>
9d42877
to
d823281
Compare
@gregkalapos I think you have some problem with Lines 119 to 126 in 0dfe9fb
PTAL at the error logs - maybe you need to install npm or there is some version conflict. If you believe there is something we can do better on the makefile/tooling, please create an issue or send a PR to fix :) |
Co-authored-by: Liudmila Molkova <limolkova@microsoft.com>
Great, thanks for looking into this. Installing Node.js solves the issue (just reinstalled my machine... ) |
About the new |
my interpretation of the spec is that if the first index name has a wildcard, I think that's ok, and |
Thanks for raising this @swallez .
Correct, so the example of
That'd be my suggestion as well. Should we call this out explicitly? Happy to push a change. |
The footnote for db.collection.name says: "If the collection name is parsed from the query text, it SHOULD be the first collection name found in the query and it SHOULD match the value provided in the query text including any schema and database name prefix" In the context of Elasticsearch, the first collection name is found in the URL path and is not extracted from the query text. It defines the target of the operation. In this regard it is very similar to the target table in If we only take the first part of a multi-index target, we're loosing important information. For example, if we run a delete by query that targets So IMHO we should keep the index target unmodified in the span attribute, even if it's actually a list:
|
@swallez there is also
and examples:
So in your example, I'd expect So this is only for Having said that, we already had an iteration of the comma separated vs. only keeping the first one question here: #1002 (comment) I agree with you, this is a bit different since this is coming from the request url. @swallez what do you think: does |
First, asking users to look at Also, there are some deviations from using I really think we should consider multi-index targets as a kind of runtime alias (or an SQL partitioned table) as it is semantically equivalent, and all target indices are expected to have the same schema. This is very different from comma separated table names in a SQL query like So IMHO keeping the index parameter as is is semantically consistent with the spec, since it defines what the target of the operation is, which - in the case of wildcards or comma-separated names - is equivalent to a runtime-defined alias. |
Yeah, that indeed makes this too complicated to figure out for users. I pushed an update to the PR now stating that it should be a comma separated list. At the same time I also opened #1132 to discuss this in general. We had a conversation about this in the working group and we thought it'd be useful to reiterate the decision that only the 1. collection name should be captured. Regardless of the outcome of that issue, my current proposal would be to move on with this PR and explicitly stating here that collection name should be a comma separated list of all targets. |
Follow up from #974 (comment).
Changes
db.collection.name
to the Elasticsearch spec, which is used in the span name as well.http.request.method
todb.system
. The thinking behind this is thatdb.system
is usually the last fallback for other DBs. This was also the outcome in Better guidance on semantic conventions for database client call span names in case of missing information #704. In practice this fallback is used extremely rarely since endpoint id is usually available.Questions
db.elasticsearch.cluster.name
could be replaced withdb.namespace
. Do we want to do that?Merge requirement checklist
[chore]