[Observability] New "No Data" screens#107709
Conversation
…iring down custom styles of Enterprise Search cards
with temp `falsy` statement. Needs hook
x-pack/plugins/apm/public/components/routing/templates/apm_main_template.tsx
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Observability: cc @jasonrhodes
I've made PR comments where I need help getting/checking the logic. The locations where the new page contents is passed to the template is the best location I have found for each of the Obs solutions as it should prevent the render of any subsequent pages and can be the entire page (with still showing the solution navigation).
The next thing we'd like to tackle is getting the top menu bar's Add Data buttons going to the right places and possibly also displaying the right content when there's no data. But that does not have to be this PR.
x-pack/plugins/apm/public/components/routing/templates/apm_main_template.tsx
Outdated
Show resolved
Hide resolved
x-pack/plugins/apm/public/components/app/RumDashboard/RumHome.tsx
Outdated
Show resolved
Hide resolved
| const { metricIndicesExist } = useContext(Source.Context); | ||
| const noDataConfig: KibanaPageTemplateProps['noDataConfig'] = metricIndicesExist | ||
| ? undefined | ||
| : { | ||
| solution: 'Observability', | ||
| pageTitle: 'Set up Metrics for Observability!', |
There was a problem hiding this comment.
I think you can use:
const { metricIndicesExist } = useSource();and just import useSource instead of Source from that same file.
But they both seem to be doing the same thing. @simianhacker @neptunian could you just confirm that this will correctly return whether metrics indices exist at this point in the app?
There was a problem hiding this comment.
OK ... interesting. I'm not sure how it works the way you're doing it, then, but if it does, great!
There was a problem hiding this comment.
Well, that's what I want to confirm. 😆
There was a problem hiding this comment.
@weltenwort if you have a minute can you help me confirm whether this context access is expected to work without designating the source ID? I don't want to tell Caroline to "just use 'default' here" because that seems bad, but I wasn't able to figure out how we are supposed to interact with this...
|
@gchaps We'll need some help for UI text on this one. Specifically the difference between using Integrations with Agent vs. using Beats on their own. The core differences:
The reasons not to go with Integrations with Agent right now are:
From our designs we'll be using cards to show off the choice. The only difference per solution would be the suggested method (which would hinge on whether the related integration is GA). I'd like to distill these two cards into a short sentence. Use beats when... Yell if you need more context. |
|
@dedemorton, @bmorelli25 Can you please look at the the request for text on the Beats and Elastic Agent cards? I'd prefer we didn't use "Confused on which to use?". I'd rather the text give in the card give enough info and then include just the link "Check our docs for more information". Setup Beats > Set up Beats |
|
@elasticmachine merge upstream |
|
@elasticmachine merge upstream |
|
@elasticmachine merge upstream |
|
@elasticmachine merge upstream Jest tests passed locally after a merge. 🎲 |
|
@elasticmachine merge upstream |
💚 Build SucceededMetrics [docs]Module Count
Async chunks
Page load bundle
History
To update your PR or re-run it, just comment with: |
snide
left a comment
There was a problem hiding this comment.
Reviewed locally. Looks good. Merging this since we've had trouble with tests and now have green. Set the auto-backport flags.
💔 Backport failed
To backport manually run: |
* [Observability] New "No Data" screens (#107709) Adds empty states for all of Obs that lead to their various ingest flows. * merge conflicts * Fix missing DTS addition to template Co-authored-by: Caroline Horn <549577+cchaos@users.noreply.github.com> Co-authored-by: cchaos <caroline.horn@elastic.co>


Observability work for #107682
✅ APM -- Split to new PR #111630
Historical context
hasHistoricalAgentData()(see details below)learn moreurl:core.docLinks.links.observability.guideAdd dataurl:/app/home#/tutorial/apmOriginally posted by @cauemarcondes in cchaos#31
✅ Getting Started -- Split to new PR #111803
Historical context
learn moreurl:core.docLinks.links.observability.guideAdd dataurl:/app/home#/tutorial_directory/logging✅ Overview -- Split to new PR #111803
Historical context
const { hasAnyData } = useHasData();learn moreurl:core.docLinks.links.observability.guideAdd dataurl:/app/home#/tutorial_directory/logging✅ Logs @afgomez (Closes #111386)
useLogSourceContext().sourceStatus?.logIndexStatus !== "missin"learn moreurl:core.docLinks.links.observability.guideAdd dataurl:/app/home#/tutorial_directory/loggingScreenshot
✅ Uptime @shahzad31 / @justinkambic -- Split to a new PR #112403
Historical context
- [x] Logic based on `const { data } = useSelector(indexStatusSelector)` - [x] `learn more` url: [`core.docLinks.links.observability.guide`](https://www.elastic.co/guide/en/kibana/master/observability.html) - [x] `Add data` url: `/app/home#/tutorial/uptimeMonitors`✅ User Experience -- Split to new PR #111866
Historical context
!totalPageViewslearn moreurl:core.docLinks.links.observability.guideAdd dataurl:/app/home#/tutorial/apm✅ Observability Metrics @afgomez (closes #111387)
const { metricIndicesExist } = useContext(Source.Context);which currently doesn't take into account the default metrics indexlearn moreurl:core.docLinks.links.observability.guideAdd dataurl:/app/home#/tutorial/metricsScreenshot
Checklist
Delete any items that are not applicable to this PR.