-
Notifications
You must be signed in to change notification settings - Fork 525
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
Update json spec for v2 Intake related to distributed tracing #1276
Comments
@elastic/apm-agent-devs and @roncohen as Intake v2 is a breaking change anyways, we could also take the opportunity to apply some breaking changes on the schema specs:
|
IIRC, there will be no non-DT version of v2, so changing that to a string sounds fine. Regarding the ES schema, it would still have to be backwards compatible I guess? What is What is |
Thanks @felixbarny !
|
If I'm not mistaken, supporting the non-DT schema with v2 would just complicate things for the agents.
It's a hex-encoded string representing 64 bits of randomness. I would change the
I see. The id should not be optional for |
In this case I will
|
this LGTM.
During a previous discussion it occurrent to me that we very early on put the apm-server version as part of the index name by default (e.g. If you have two indices where a specific field has an I'm aware that it's just a default setting, and that people could have altered the settings to remove the version from the index name, but my immediate thought is that it's rather unlikely that anyone has done that at the moment. The reason i bring it up is that it could mean we can avoid adding the |
@roncohen I have to check how this behaves with the Kibana Index Pattern. @felixbarny , @roncohen I also suggest to change the |
that makes sense |
@roncohen regarding your suggestion to simply change the type of You can still generally query on this field, but as pointed out in the Kibana note:
I don't think that this is a good user experience and suggest to introduce the |
thanks for investigating @simitt! Our of curiosity, what are the other conflicts? |
Regarding the ID type check: Is there a performance/storage reason why we want to check that it's a 16 byte hex string? If not, I think it would be safer to just check that it's a string so in case we want to change it in the future, it's not going to be a breaking change. |
@roncohen the other two conflicts were unrelated to this change. @watson we have checked the format on the Intake API for IDs so far. That is why I suggested to also check for the new ID format. In case we prefer more flexibility over being strict and @elastic/apm-ui has no requirements to know how an ID looks like but just knowing the type, I am fine with removing the pattern in the json spec. |
@simitt 👍I'm fine either way, I just want to make sure we consider it before we put rules in place that we technically don't need if they have a risk of painting us into a corner |
OK @simitt. Let's go with the I'm fine with relaxing the ID format as well. |
Changing type should be fine with the ui as id's are not transformed but used verbatim. |
ok, I'll get rid of the validation then and only enforce the regular length limit we have for keywords. |
What about storing the new (hex) id in I personally find it a bit weird that we have |
I really like the suggestion to use |
update note: sticked with |
At least forbid
transaction.spans
to be sent in Intake V2.Check if other changes are necessary, e.g. regarding
span.id
orspan.transaction_id
.see more details on PR ##1303
The text was updated successfully, but these errors were encountered: