# Backport This will backport the following commits from `main` to `8.6`: - [[Synthetics] Update monitor detail data on refresh (#145468)](https://github.com/elastic/kibana/pull/145468) <!--- Backport version: 8.9.7 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Justin Kambic","email":"jk@elastic.co"},"sourceCommit":{"committedDate":"2022-11-23T19:20:42Z","message":"[Synthetics] Update monitor detail data on refresh (#145468)\n\n## Summary\r\n\r\nResolves #143662.\r\n\r\nResolves #144367.\r\n\r\nThis patch will add refresh capabilities to the monitor detail page and\r\nits child views. Today, the page needs to be hard-refreshed in order for\r\nthis to work.\r\n\r\n### Arch changes\r\n\r\n#### App-wide refresh interval\r\n\r\nTo simplify how auto-refreshing works, I have\r\n[extracted](https://github.com/elastic/kibana/pull/145468/files#diff-09f3a6de5b54c7d3933df933d83e963f6ff6a5c18a3d83238bd658623595fe35L47)\r\nthe existing `interval` logic from the Overview page and put it into the\r\n[`RefreshContext`](https://github.com/elastic/kibana/pull/145468/files#diff-660f9a1ed6f641662eff6682448bac7d1b167b4ea518ddc43634192b2959be1fR36)\r\nitself. I am not overly fond of this solution, so if someone has a\r\nbetter suggestion for how to handle this, I am open to recommendations.\r\n\r\nThis refresh context also ties into the date picker components we use\r\nfor some of these pages, so everything should continue to work\r\nseamlessly, but there's going to be a conflicting auto-refresh between\r\ndate pickers and the internal context value itself. It might be\r\nworthwhile for us to discuss this in a tech sync and have a dedicated\r\nenhancement.\r\n\r\n#### New absolute date formatting hook\r\n\r\nI've introduced a [new hook for changing relative date values into\r\nabsolute ISO\r\nstrings](https://github.com/elastic/kibana/pull/145468/files#diff-48912058ac736ca8aece834bb50369cc5589b94b9c8b2b3e418e9d7690241525).\r\nThis is because we are making extensive use of Exploratory View\r\nEmbeddables, which do not have any kind of refresh mechanism exposed.\r\nThe simplest way to get these to refresh when our `lastRefresh` field\r\nupdates is to supply the embeddable with absolute values, which\r\ncorrespond directly to the existing `from` and `to` fields we're already\r\nusing.\r\n\r\n#### Existing hook updates\r\n\r\nI have tried to avoid manipulating the existing behavior of our fetch\r\nhooks, but there were a few cases where I added optional parameters to\r\nthem to support refresh functionality. It's worth extra attention to\r\nmake sure we're not adding something that we should avoid for these\r\nhooks.\r\n\r\n### Testing this PR\r\n\r\nThe best way to test this PR is to configure a monitor and open the\r\ndetail pages for `Overview`, `History`, and `Errors`. Let your monitor\r\nrun for some time and look at all the visualizations, while avoiding a\r\nhard refresh. If you run this patch from source, you can also modify the\r\n[interval](https://github.com/elastic/kibana/pull/145468/files#diff-660f9a1ed6f641662eff6682448bac7d1b167b4ea518ddc43634192b2959be1fR39)\r\nfrom `30s` to some smaller value if you want to make sure things are\r\nupdating where they should more easily.","sha":"06b7596810a285868db58c9040da868ff8ab6e4d","branchLabelMapping":{"^v8.7.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["bug","Team:uptime","release_note:skip","ci:cloud-deploy","v8.6.0","v8.7.0"],"number":145468,"url":"https://github.com/elastic/kibana/pull/145468","mergeCommit":{"message":"[Synthetics] Update monitor detail data on refresh (#145468)\n\n## Summary\r\n\r\nResolves #143662.\r\n\r\nResolves #144367.\r\n\r\nThis patch will add refresh capabilities to the monitor detail page and\r\nits child views. Today, the page needs to be hard-refreshed in order for\r\nthis to work.\r\n\r\n### Arch changes\r\n\r\n#### App-wide refresh interval\r\n\r\nTo simplify how auto-refreshing works, I have\r\n[extracted](https://github.com/elastic/kibana/pull/145468/files#diff-09f3a6de5b54c7d3933df933d83e963f6ff6a5c18a3d83238bd658623595fe35L47)\r\nthe existing `interval` logic from the Overview page and put it into the\r\n[`RefreshContext`](https://github.com/elastic/kibana/pull/145468/files#diff-660f9a1ed6f641662eff6682448bac7d1b167b4ea518ddc43634192b2959be1fR36)\r\nitself. I am not overly fond of this solution, so if someone has a\r\nbetter suggestion for how to handle this, I am open to recommendations.\r\n\r\nThis refresh context also ties into the date picker components we use\r\nfor some of these pages, so everything should continue to work\r\nseamlessly, but there's going to be a conflicting auto-refresh between\r\ndate pickers and the internal context value itself. It might be\r\nworthwhile for us to discuss this in a tech sync and have a dedicated\r\nenhancement.\r\n\r\n#### New absolute date formatting hook\r\n\r\nI've introduced a [new hook for changing relative date values into\r\nabsolute ISO\r\nstrings](https://github.com/elastic/kibana/pull/145468/files#diff-48912058ac736ca8aece834bb50369cc5589b94b9c8b2b3e418e9d7690241525).\r\nThis is because we are making extensive use of Exploratory View\r\nEmbeddables, which do not have any kind of refresh mechanism exposed.\r\nThe simplest way to get these to refresh when our `lastRefresh` field\r\nupdates is to supply the embeddable with absolute values, which\r\ncorrespond directly to the existing `from` and `to` fields we're already\r\nusing.\r\n\r\n#### Existing hook updates\r\n\r\nI have tried to avoid manipulating the existing behavior of our fetch\r\nhooks, but there were a few cases where I added optional parameters to\r\nthem to support refresh functionality. It's worth extra attention to\r\nmake sure we're not adding something that we should avoid for these\r\nhooks.\r\n\r\n### Testing this PR\r\n\r\nThe best way to test this PR is to configure a monitor and open the\r\ndetail pages for `Overview`, `History`, and `Errors`. Let your monitor\r\nrun for some time and look at all the visualizations, while avoiding a\r\nhard refresh. If you run this patch from source, you can also modify the\r\n[interval](https://github.com/elastic/kibana/pull/145468/files#diff-660f9a1ed6f641662eff6682448bac7d1b167b4ea518ddc43634192b2959be1fR39)\r\nfrom `30s` to some smaller value if you want to make sure things are\r\nupdating where they should more easily.","sha":"06b7596810a285868db58c9040da868ff8ab6e4d"}},"sourceBranch":"main","suggestedTargetBranches":["8.6"],"targetPullRequestStates":[{"branch":"8.6","label":"v8.6.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.7.0","labelRegex":"^v8.7.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/145468","number":145468,"mergeCommit":{"message":"[Synthetics] Update monitor detail data on refresh (#145468)\n\n## Summary\r\n\r\nResolves #143662.\r\n\r\nResolves #144367.\r\n\r\nThis patch will add refresh capabilities to the monitor detail page and\r\nits child views. Today, the page needs to be hard-refreshed in order for\r\nthis to work.\r\n\r\n### Arch changes\r\n\r\n#### App-wide refresh interval\r\n\r\nTo simplify how auto-refreshing works, I have\r\n[extracted](https://github.com/elastic/kibana/pull/145468/files#diff-09f3a6de5b54c7d3933df933d83e963f6ff6a5c18a3d83238bd658623595fe35L47)\r\nthe existing `interval` logic from the Overview page and put it into the\r\n[`RefreshContext`](https://github.com/elastic/kibana/pull/145468/files#diff-660f9a1ed6f641662eff6682448bac7d1b167b4ea518ddc43634192b2959be1fR36)\r\nitself. I am not overly fond of this solution, so if someone has a\r\nbetter suggestion for how to handle this, I am open to recommendations.\r\n\r\nThis refresh context also ties into the date picker components we use\r\nfor some of these pages, so everything should continue to work\r\nseamlessly, but there's going to be a conflicting auto-refresh between\r\ndate pickers and the internal context value itself. It might be\r\nworthwhile for us to discuss this in a tech sync and have a dedicated\r\nenhancement.\r\n\r\n#### New absolute date formatting hook\r\n\r\nI've introduced a [new hook for changing relative date values into\r\nabsolute ISO\r\nstrings](https://github.com/elastic/kibana/pull/145468/files#diff-48912058ac736ca8aece834bb50369cc5589b94b9c8b2b3e418e9d7690241525).\r\nThis is because we are making extensive use of Exploratory View\r\nEmbeddables, which do not have any kind of refresh mechanism exposed.\r\nThe simplest way to get these to refresh when our `lastRefresh` field\r\nupdates is to supply the embeddable with absolute values, which\r\ncorrespond directly to the existing `from` and `to` fields we're already\r\nusing.\r\n\r\n#### Existing hook updates\r\n\r\nI have tried to avoid manipulating the existing behavior of our fetch\r\nhooks, but there were a few cases where I added optional parameters to\r\nthem to support refresh functionality. It's worth extra attention to\r\nmake sure we're not adding something that we should avoid for these\r\nhooks.\r\n\r\n### Testing this PR\r\n\r\nThe best way to test this PR is to configure a monitor and open the\r\ndetail pages for `Overview`, `History`, and `Errors`. Let your monitor\r\nrun for some time and look at all the visualizations, while avoiding a\r\nhard refresh. If you run this patch from source, you can also modify the\r\n[interval](https://github.com/elastic/kibana/pull/145468/files#diff-660f9a1ed6f641662eff6682448bac7d1b167b4ea518ddc43634192b2959be1fR39)\r\nfrom `30s` to some smaller value if you want to make sure things are\r\nupdating where they should more easily.","sha":"06b7596810a285868db58c9040da868ff8ab6e4d"}}]}] BACKPORT--> Co-authored-by: Justin Kambic <jk@elastic.co> |
||
---|---|---|
.buildkite | ||
.ci | ||
.github | ||
api_docs | ||
config | ||
dev_docs | ||
docs | ||
examples | ||
kbn_pm | ||
legacy_rfcs | ||
licenses | ||
packages | ||
plugins | ||
scripts | ||
src | ||
test | ||
typings | ||
vars | ||
x-pack | ||
.backportrc.json | ||
.bazelignore | ||
.bazeliskversion | ||
.bazelrc | ||
.bazelrc.common | ||
.bazelversion | ||
.browserslistrc | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.js | ||
.gitattributes | ||
.gitignore | ||
.i18nrc.json | ||
.node-version | ||
.npmrc | ||
.nvmrc | ||
.prettierignore | ||
.prettierrc | ||
.stylelintignore | ||
.stylelintrc | ||
.telemetryrc.json | ||
.yarnrc | ||
BUILD.bazel | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
FAQ.md | ||
fleet_packages.json | ||
github_checks_reporter.json | ||
Jenkinsfile | ||
kibana.d.ts | ||
LICENSE.txt | ||
nav-kibana-dev.docnav.json | ||
NOTICE.txt | ||
package.json | ||
preinstall_check.js | ||
README.md | ||
renovate.json | ||
RISK_MATRIX.mdx | ||
SECURITY.md | ||
STYLEGUIDE.mdx | ||
tsconfig.base.json | ||
tsconfig.bazel.json | ||
tsconfig.browser.json | ||
tsconfig.browser_bazel.json | ||
tsconfig.json | ||
TYPESCRIPT.md | ||
versions.json | ||
WORKSPACE.bazel | ||
yarn.lock |
Kibana
Kibana is your window into the Elastic Stack. Specifically, it's a browser-based analytics and search dashboard for Elasticsearch.
- Getting Started
- Documentation
- Version Compatibility with Elasticsearch
- Questions? Problems? Suggestions?
Getting Started
If you just want to try Kibana out, check out the Elastic Stack Getting Started Page to give it a whirl.
If you're interested in diving a bit deeper and getting a taste of Kibana's capabilities, head over to the Kibana Getting Started Page.
Using a Kibana Release
If you want to use a Kibana release in production, give it a test run, or just play around:
- Download the latest version on the Kibana Download Page.
- Learn more about Kibana's features and capabilities on the Kibana Product Page.
- We also offer a hosted version of Kibana on our Cloud Service.
Building and Running Kibana, and/or Contributing Code
You might want to build Kibana locally to contribute some code, test out the latest features, or try out an open PR:
- CONTRIBUTING.md will help you get Kibana up and running.
- If you would like to contribute code, please follow our STYLEGUIDE.mdx.
- For all other questions, check out the FAQ.md and wiki.
Documentation
Visit Elastic.co for the full Kibana documentation.
For information about building the documentation, see the README in elastic/docs.
Version Compatibility with Elasticsearch
Ideally, you should be running Elasticsearch and Kibana with matching version numbers. If your Elasticsearch has an older version number or a newer major number than Kibana, then Kibana will fail to run. If Elasticsearch has a newer minor or patch number than Kibana, then the Kibana Server will log a warning.
Note: The version numbers below are only examples, meant to illustrate the relationships between different types of version numbers.
Situation | Example Kibana version | Example ES version | Outcome |
---|---|---|---|
Versions are the same. | 7.15.1 | 7.15.1 | 💚 OK |
ES patch number is newer. | 7.15.0 | 7.15.1 | ⚠️ Logged warning |
ES minor number is newer. | 7.14.2 | 7.15.0 | ⚠️ Logged warning |
ES major number is newer. | 7.15.1 | 8.0.0 | 🚫 Fatal error |
ES patch number is older. | 7.15.1 | 7.15.0 | ⚠️ Logged warning |
ES minor number is older. | 7.15.1 | 7.14.2 | 🚫 Fatal error |
ES major number is older. | 8.0.0 | 7.15.1 | 🚫 Fatal error |
Questions? Problems? Suggestions?
- If you've found a bug or want to request a feature, please create a GitHub Issue. Please check to make sure someone else hasn't already created an issue for the same topic.
- Need help using Kibana? Ask away on our Kibana Discuss Forum and a fellow community member or Elastic engineer will be glad to help you out.