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

[APM] Local UI filters #41588

Merged
merged 28 commits into from Aug 15, 2019

Conversation

@dgieselaar
Copy link
Contributor

commented Jul 19, 2019

Closes #34922.

Services:
image

Traces:
image

Transactions overview:
image

Transactions detail:
image

Errors:
image

Metrics:
image

Filter menu:
image
image

Definition of Done for APM UI

  • Flag and create issues of things that are left out
  • Before/after images or gif of UI changes
  • Release labels
  • Designer sign-off for UI related changes
  • [ ] PM approval for bigger, user-facing features

@dgieselaar dgieselaar changed the title Local filters [APM] Local filters Jul 19, 2019

@elasticmachine

This comment has been minimized.

Copy link

commented Jul 19, 2019

@spalger

This comment has been minimized.

Copy link
Member

commented Jul 19, 2019

retest

@elasticmachine

This comment has been minimized.

Copy link

commented Jul 19, 2019

@dgieselaar

This comment has been minimized.

Copy link
Contributor Author

commented Jul 21, 2019

@dgieselaar

This comment has been minimized.

Copy link
Contributor Author

commented Jul 22, 2019

Discussed via Zoom w/ @sqren (please correct me if I missed or misrepresented anything):

  • document type should be something like view or route type
  • going to create links for different views (like we have TransactionLink) and add type safety (of query params) via that abstraction. When/if we'll have named routes that type safety can bubble up via the router. For now we'll use a mix of manual typings + inferred from local ui filters.
  • remove optimizations as much as possible. good guideline: memoize by default in hooks/context, in all other instances, only if absolutely necessary (and proven).
  • rename localFilters to localUiFilters (everywhere)
  • keep the spread operator, infer types as much as possible from one central location (the filters config)
  • make transaction type look like a local UI filter, but exclude it from parsing/formatting in uiFilters hook and aggregation. making it a local filter under water will have too much impact on type boundaries/UI behaviour/API calls that expect a single value.
@sqren

This comment has been minimized.

Copy link
Member

commented Jul 22, 2019

document type should be something like view or route type

Yes, I think we should avoid creating a new "type" and just refer to the route names we already have.
We also shouldn't have to add the route name to the links.

@sqren

This comment has been minimized.

Copy link
Member

commented Jul 22, 2019

Agree with all the other points 👍

@dgieselaar dgieselaar force-pushed the dgieselaar:local-filters branch from 29e983c to e32c1bf Jul 23, 2019

@elasticmachine

This comment has been minimized.

Copy link

commented Jul 23, 2019

@elasticmachine

This comment has been minimized.

Copy link

commented Jul 30, 2019

@dgieselaar dgieselaar force-pushed the dgieselaar:local-filters branch from 51ffa41 to cbc2d12 Aug 1, 2019

@elasticmachine

This comment has been minimized.

Copy link

commented Aug 1, 2019

@dgieselaar dgieselaar force-pushed the dgieselaar:local-filters branch from cbc2d12 to 7368d45 Aug 1, 2019

@dgieselaar dgieselaar requested review from ogupte and katrin-freihofner Aug 1, 2019

dgieselaar added some commits Aug 1, 2019

More review feedback:
- Add transactions projection
- Merge traces/transaction groups projections

@dgieselaar dgieselaar force-pushed the dgieselaar:local-filters branch from c3468cf to 3653d59 Aug 14, 2019

@elasticmachine

This comment has been minimized.

Copy link

commented Aug 14, 2019

@dgieselaar

This comment has been minimized.

Copy link
Contributor Author

commented Aug 15, 2019

retest

@elasticmachine

This comment has been minimized.

Copy link

commented Aug 15, 2019

@dgieselaar dgieselaar merged commit 4b05fd9 into elastic:master Aug 15, 2019

50 checks passed

API integration tests node scripts/functional_tests --config test/api_integration/config.js --bail --debug
Details
Browser tests yarn run grunt test:browser-ci
Details
Build kbn_tp_sample_panel_action yarn build
Details
CLA All commits in pull request signed
Details
Check core API changes node scripts/check_core_api_changes
Details
Check file casing node scripts/check_file_casing --quiet
Details
Check licenses node scripts/check_licenses --dev
Details
Firefox smoke test node scripts/functional_tests --bail --debug --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pull-request/JOB/kibana-firefoxSmoke/node/linux-immutable/install/kibana --include-tag smoke --config test/functional/config.firefox.js
Details
Functional tests / Group 1 yarn run grunt run:functionalTests_ciGroup1
Details
Functional tests / Group 10 yarn run grunt run:functionalTests_ciGroup10
Details
Functional tests / Group 11 yarn run grunt run:functionalTests_ciGroup11
Details
Functional tests / Group 12 yarn run grunt run:functionalTests_ciGroup12
Details
Functional tests / Group 2 yarn run grunt run:functionalTests_ciGroup2
Details
Functional tests / Group 3 yarn run grunt run:functionalTests_ciGroup3
Details
Functional tests / Group 4 yarn run grunt run:functionalTests_ciGroup4
Details
Functional tests / Group 5 yarn run grunt run:functionalTests_ciGroup5
Details
Functional tests / Group 6 yarn run grunt run:functionalTests_ciGroup6
Details
Functional tests / Group 7 yarn run grunt run:functionalTests_ciGroup7
Details
Functional tests / Group 8 yarn run grunt run:functionalTests_ciGroup8
Details
Functional tests / Group 9 yarn run grunt run:functionalTests_ciGroup9
Details
Internationalization check node scripts/i18n_check --ignore-missing
Details
Interpreter functional tests node scripts/functional_tests --config test/interpreter_functional/config.js --bail --debug --kibana-install-dir ./build/oss/kibana-8.0.0-SNAPSHOT-linux-x86_64
Details
Jest integration tests yarn run grunt test:jest_integration
Details
Jest tests yarn run grunt test:jest
Details
Mocha tests node scripts/mocha
Details
Plugin functional tests node scripts/functional_tests --config test/plugin_functional/config.js --bail --debug --kibana-install-dir ./build/oss/kibana-8.0.0-SNAPSHOT-linux-x86_64
Details
Project tests yarn run grunt test:projects
Details
Type check node scripts/type_check
Details
TypeScript - all files belong to a TypeScript project node scripts/check_ts_projects
Details
Verify NOTICE.txt node scripts/notice --validate
Details
Verify dependency versions yarn run grunt verifyDependencyVersions
Details
X-Pack Chrome Functional tests / Group 1 node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pull-request/JOB/x-pack-ciGroup1/node/linux-immutable/install/kibana --include-tag ciGroup1
Details
X-Pack Chrome Functional tests / Group 10 node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pull-request/JOB/x-pack-ciGroup10/node/linux-immutable/install/kibana --include-tag ciGroup10
Details
X-Pack Chrome Functional tests / Group 2 node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pull-request/JOB/x-pack-ciGroup2/node/linux-immutable/install/kibana --include-tag ciGroup2
Details
X-Pack Chrome Functional tests / Group 3 node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pull-request/JOB/x-pack-ciGroup3/node/linux-immutable/install/kibana --include-tag ciGroup3
Details
X-Pack Chrome Functional tests / Group 4 node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pull-request/JOB/x-pack-ciGroup4/node/linux-immutable/install/kibana --include-tag ciGroup4
Details
X-Pack Chrome Functional tests / Group 5 node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pull-request/JOB/x-pack-ciGroup5/node/linux-immutable/install/kibana --include-tag ciGroup5
Details
X-Pack Chrome Functional tests / Group 6 node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pull-request/JOB/x-pack-ciGroup6/node/linux-immutable/install/kibana --include-tag ciGroup6
Details
X-Pack Chrome Functional tests / Group 7 node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pull-request/JOB/x-pack-ciGroup7/node/linux-immutable/install/kibana --include-tag ciGroup7
Details
X-Pack Chrome Functional tests / Group 8 node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pull-request/JOB/x-pack-ciGroup8/node/linux-immutable/install/kibana --include-tag ciGroup8
Details
X-Pack Chrome Functional tests / Group 9 node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pull-request/JOB/x-pack-ciGroup9/node/linux-immutable/install/kibana --include-tag ciGroup9
Details
X-Pack Jest node scripts/jest --ci --verbose
Details
X-Pack Mocha yarn test
Details
X-Pack SIEM cyclic dependency test node legacy/plugins/siem/scripts/check_circular_deps
Details
X-Pack firefox smoke test node scripts/functional_tests --debug --bail --kibana-install-dir /var/lib/jenkins/workspace/elastic+kibana+pull-request/JOB/x-pack-firefoxSmoke/node/linux-immutable/install/kibana --include-tag smoke --config test/functional/config.firefox.js
Details
eslint node scripts/eslint --no-cache
Details
kibana-ci Build finished.
Details
prbot:outdated run `node scripts/update_prs 41588` to update
prbot:release note labels
sasslint node scripts/sasslint
Details

@dgieselaar dgieselaar deleted the dgieselaar:local-filters branch Aug 15, 2019

dgieselaar added a commit to dgieselaar/kibana that referenced this pull request Aug 15, 2019

[APM] Local UI filters (elastic#41588)
* Add snapshot tests for query search params

* Use projections to fetch data

* Add configuration and aggregations for local filters

* Add endpoints for local filters

* UseLocalUIFilters hook

* Parse Local UI filters from URL params

* LocalUIFilters component

* TransactionTypeFilter

* replace useServiceTransactionTypes with useTransactionTypes

* Support transactionType for trace projection/api

* Configure Local UI Filters

* Use units instead of hardcoded px

* Fix i18n error

* Remove unused labels from translation files

* Update URL of API integration test for transaction_types API call

* Revert "replace useServiceTransactionTypes with useTransactionTypes"

This reverts commit bae7fa4.

* Revert "Support transactionType for trace projection/api"

This reverts commit 2edb32c.

* Remove transaction type filter for traces,error groups

* Address review feedback

* Don't clone in mergeProjection; add tests

* Address review feedback

* Revert transaction_types API path in functional tests

* More review feedback

* More review feedback:

- Add transactions projection
- Merge traces/transaction groups projections

* Don't persist local UI filters in HistoryTabs

* Move projections to server folder

* Move transactionName into options

* Use pod name instead of pod uid

dgieselaar added a commit that referenced this pull request Aug 15, 2019

[7.x] [APM] Local UI filters (#41588) (#43336)
* Add snapshot tests for query search params

* Use projections to fetch data

* Add configuration and aggregations for local filters

* Add endpoints for local filters

* UseLocalUIFilters hook

* Parse Local UI filters from URL params

* LocalUIFilters component

* TransactionTypeFilter

* replace useServiceTransactionTypes with useTransactionTypes

* Support transactionType for trace projection/api

* Configure Local UI Filters

* Use units instead of hardcoded px

* Fix i18n error

* Remove unused labels from translation files

* Update URL of API integration test for transaction_types API call

* Revert "replace useServiceTransactionTypes with useTransactionTypes"

This reverts commit bae7fa4.

* Revert "Support transactionType for trace projection/api"

This reverts commit 2edb32c.

* Remove transaction type filter for traces,error groups

* Address review feedback

* Don't clone in mergeProjection; add tests

* Address review feedback

* Revert transaction_types API path in functional tests

* More review feedback

* More review feedback:

- Add transactions projection
- Merge traces/transaction groups projections

* Don't persist local UI filters in HistoryTabs

* Move projections to server folder

* Move transactionName into options

* Use pod name instead of pod uid

jloleysens added a commit to jloleysens/kibana that referenced this pull request Aug 15, 2019

Merge branch 'master' of github.com:elastic/kibana into feature/rollu…
…p-metrics-selectall

* 'master' of github.com:elastic/kibana: (50 commits)
  [Uptime] update monitor list configs for mobile view (elastic#43218)
  [APM] Local UI filters (elastic#41588)
  [Code] Upgrade ctags langserver (elastic#43252)
  [Code] show multiple definition results in panel (elastic#43249)
  Adds Metric Type to full screen launch tracking (elastic#42692)
  [Canvas] Convert Autocomplete to Typescript (elastic#42502)
  [telemetry] add spacesEnabled config back to xpack_main (elastic#43312)
  [ML] Adds DF Transform Analytics list to Kibana management (elastic#43151)
  Add TLS client authentication support. (elastic#43090)
  [csp] Telemetry for csp configuration (elastic#43223)
  [SIEM] Run Cypress Tests Against Elastic Cloud & Cypress Command Line / Reporting (elastic#42804)
  docs: add tip on agent config in a dt (elastic#43301)
  [ML] Adding bucket span estimator to new wizards (elastic#43288)
  disable flaky tests (elastic#43017)
  Fix percy target branch for PRs (elastic#43160)
  [ML] Adding post create job options (elastic#43205)
  Restore discover histogram selection triggering fetch (elastic#43097)
  Per panel time range (elastic#43153)
  [Infra UI] Add APM to Metadata Endpoint (elastic#42197)
  Sentence case copy changes (elastic#43215)
  ...

chrisronline added a commit to chrisronline/kibana that referenced this pull request Aug 15, 2019

[APM] Local UI filters (elastic#41588)
* Add snapshot tests for query search params

* Use projections to fetch data

* Add configuration and aggregations for local filters

* Add endpoints for local filters

* UseLocalUIFilters hook

* Parse Local UI filters from URL params

* LocalUIFilters component

* TransactionTypeFilter

* replace useServiceTransactionTypes with useTransactionTypes

* Support transactionType for trace projection/api

* Configure Local UI Filters

* Use units instead of hardcoded px

* Fix i18n error

* Remove unused labels from translation files

* Update URL of API integration test for transaction_types API call

* Revert "replace useServiceTransactionTypes with useTransactionTypes"

This reverts commit bae7fa4.

* Revert "Support transactionType for trace projection/api"

This reverts commit 2edb32c.

* Remove transaction type filter for traces,error groups

* Address review feedback

* Don't clone in mergeProjection; add tests

* Address review feedback

* Revert transaction_types API path in functional tests

* More review feedback

* More review feedback:

- Add transactions projection
- Merge traces/transaction groups projections

* Don't persist local UI filters in HistoryTabs

* Move projections to server folder

* Move transactionName into options

* Use pod name instead of pod uid
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants
You can’t perform that action at this time.