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

[Meta] Aggregations Roadmap #60126

Closed
44 of 82 tasks
lukeelmers opened this issue Mar 13, 2020 · 1 comment
Closed
44 of 82 tasks

[Meta] Aggregations Roadmap #60126

lukeelmers opened this issue Mar 13, 2020 · 1 comment
Labels
Feature:Aggregations Aggregation infrastructure (AggConfig, esaggs, ...) impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:small Small Level of Effort Meta

Comments

@lukeelmers
Copy link
Member

lukeelmers commented Mar 13, 2020

Summary

Kibana's shared aggregations infrastructure lives inside of the data plugin's search service (plugins.data.search.aggs), and is owned by @elastic/kibana-app-arch. This infrastructure exists to provide a way of modeling aggregations for use in a UI, and then converting them to Elasticsearch DSL. An example of a consumer of this service is the default visualizations editor, which provides the UI for configuring most of Kibana's core visualizations.

The aggs service also works in conjunction with SearchSource, allowing consumers to push their modeled agg (AggConfig) to SearchSource, and have it automatically converted to DSL for them when a query is executed.

The main components of the aggs service are:

  1. Classes to model each of the different ES aggregations (AggTypes) supported in Kibana, and the different params they accept as configuration.
  2. A types registry which exposes each of the available agg types to applications.
  3. A static AggConfig class, which is a model representing an individual aggregation, including its type, & params used to configure that type.
  4. A createAggConfigs method, which allows you to create a collection of AggConfigs that can ultimately be configured and sent to Elasticsearch.

This meta issue exists to track ongoing planned work for this service. For an overview of currently supported aggs in Kibana, please refer to the Kibana ES aggs support meta issue.

Remaining migration tasks

Refactoring

  • Remove createFilter from agg types and instead have each agg return values for the filter
    • For ranges this should be straightforward; have a method to return from and to for a given agg
    • Terms agg which also uses createFilter is more complex and would require further discussion
  • Expression functions for object-based agg params
  • Unify configStates interface with the AggConfig.toJSON() output
  • Clean up AggConfig

Features & Enhancements

General

esaggs

Agg-specific features

Bucket
Metrics
Matrix
  • Matrix Stats*
Pipeline

* potential low-hanging fruit

Related

@lukeelmers lukeelmers added Meta Feature:Aggregations Aggregation infrastructure (AggConfig, esaggs, ...) Team:AppArch labels Mar 13, 2020
@lukeelmers lukeelmers self-assigned this Mar 13, 2020
@kibanamachine kibanamachine added this to To triage in kibana-app-arch Mar 13, 2020
@timroes timroes mentioned this issue Mar 13, 2020
5 tasks
@lukeelmers lukeelmers moved this from To triage to Long Horizon in kibana-app-arch May 5, 2020
@lukeelmers lukeelmers moved this from Long Horizon to Medium Horizon in kibana-app-arch May 5, 2020
@lukeelmers lukeelmers removed their assignment Dec 7, 2020
@exalate-issue-sync exalate-issue-sync bot added impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:small Small Level of Effort labels Jun 21, 2021
@ppisljar
Copy link
Member

ppisljar commented Aug 8, 2022

Thank you for contributing to this issue, however, we are closing this issue due to inactivity as part of a backlog grooming effort. If you believe this feature/bug should still be considered, please reopen with a comment.

@ppisljar ppisljar closed this as completed Aug 8, 2022
kibana-app-arch automation moved this from Medium Horizon to Done in current release Aug 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Aggregations Aggregation infrastructure (AggConfig, esaggs, ...) impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:small Small Level of Effort Meta
Projects
kibana-app-arch
  
Done in current release
Development

No branches or pull requests

2 participants