-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
Add ECS data to data views #180543
base: main
Are you sure you want to change the base?
Add ECS data to data views #180543
Conversation
/ci |
💔 Build FailedFailed CI StepsTest Failures
Metrics [docs]Public APIs missing comments
Any counts in public APIs
Page load bundle
Unknown metric groupsAPI count
HistoryTo update your PR or re-run it, just comment with: |
EcsFlat[fieldName as keyof typeof EcsFlat]?.description | ||
) { | ||
field.ecsDescription = EcsFlat[fieldName as keyof typeof EcsFlat].description; | ||
} |
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.
Can we make it optional for the field caps request to control the response size better? For example enrich with ecs descriptions only if includeEcsMeta
param is passed to the API call.
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.
yes, because adding it every time would make it too expensive. maybe it could be even more granular, something like
includeEcsMeta=all
-> return all ECS Meta data?
includeEcsMeta=description,short,...
-> return selected ECS Meta data?
Then it would be flexible, e.g. for the showing the description in the fields popover just single field + description could be requested. By default, when a data view requests all the fields, just a single small field could be requested, sufficient to add priority, if set
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.
wdyt @mattkime ?
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 will create an issue for that
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.
Do we expect that ECS data will be loaded for a small number of fields at a time? I think you said so much but I thought I'd verify.
Will the ECS data be loaded for fields individually or for a small number at a time?
Does field_caps data inform how ECS data is returned?
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.
Do we expect that ECS data will be loaded for a small number of fields at a time? I think you said so much but I thought I'd verify.
it depends on the use case, when showing the description of a field, yes, just a single field. But for prioritization, telemetry, this number of fields can be big (that's why the API needs to be flexible, to just serve the ECS data that's needed)
Will the ECS data be loaded for fields individually or for a small number at a time?
Depends on the use case, in this PR it added for all fields when ecs.version is part of the field list. this is very simple but would lead to redundant information, and therefore more network traffic in ECS use cases. This is something we should omit, that's why ECS enrichment needs to be granular
Does field_caps data inform how ECS data is returned?
No, ECS data is being added / enriched on top of the field_caps result
Summary
Exploration what happens if we enrich data view fields data server side with ECS information to display descriptions in the UI:
Note: this can't be shipped as it would add the description to every data view fields request, which would lead to a lot of redundant data being transfered
Checklist
Delete any items that are not applicable to this PR.
Risk Matrix
Delete this section if it is not applicable to this PR.
Before closing this PR, invite QA, stakeholders, and other developers to identify risks that should be tested prior to the change/feature release.
When forming the risk matrix, consider some of the following examples and how they may potentially impact the change:
For maintainers