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 SLO create callout to service overview, transactions page and transactions details #159958
Add SLO create callout to service overview, transactions page and transactions details #159958
Conversation
🤖 GitHub commentsExpand to view the GitHub comments
Just comment with:
|
5a5bf40
to
76d3d6a
Compare
Pinging @elastic/apm-ui (Team:APM) |
@@ -76,13 +79,29 @@ export function ServiceOverview() { | |||
? 'column' | |||
: 'row'; | |||
|
|||
const [sloCalloutDismissed, setSloCalloutDismissed] = useLocalStorage( |
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.
Are we cleaning this value? if not, this user will not see the callout again unless he is using another computer, incognito mode, another window, etc. Is that the intention? if that's not the intention maybe using sessionStorage could help us here
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, as far as I know if the user clicks to hide the callout it's not going to show again as we do in other places
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 think that we discussed that the callout will be hidden if the user chooses to hide it or clicks the button to crate an SLO.
return ( | ||
<AnnotationsContextProvider | ||
serviceName={serviceName} | ||
environment={environment} | ||
start={start} | ||
end={end} | ||
> | ||
{!sloCalloutDismissed && ( |
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.
Shouldn't we also show this callout if an SLO is not current configured for this variables? or are we planning to show it even when the user has one configured?
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.
Good point, I think after creating one we shouldn’t show the callout again, @gbamparop do we know if we can check if there are SLOs already created for the user?
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.
That's a good point, we could reach to the AO team for this, but I would leave it simple for 8.9.
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.
Please create a follow up story for this
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.
We are dismissing the callout after navigating to create SLO, change added here 2a6aa66
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.
What about detecting if an SLO rule is already created? Maybe a follow up for that one?
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.
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.
We don't offer yet an easy way to search for an SLO with specific params. You could search for all SLOs created with the sli.apm.transactionErrorRate
or sli.apm.transactionDuration
indicator, but that would require to handle pagination, etc.. I would not recommend doing this.
On a side note, are we planning of supporting creating SLO with the sli.apm.transactionDuration
indicator with the threshold
value set to a default value like the 95th (99th? avg?) percentile latency of the (service, env, transactionType, transactionName) ?
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.
Thanks @kdelemme, I think for the porpoise of this, checking if there's at least one created will work for us.
<p> | ||
<FormattedMessage | ||
id="xpack.apm.slo.callout.description" | ||
defaultMessage="How quickly will you respon if the service goes down? Keep the performance, speed and user experience high with a SLO" |
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.
defaultMessage="How quickly will you respon if the service goes down? Keep the performance, speed and user experience high with a SLO" | |
defaultMessage="How quickly will you respond if the service goes down? Keep the performance, speed and user experience high with a SLO" |
d1fcdf9
to
d28034d
Compare
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.
LGTM
6c081d7
to
2a6aa66
Compare
data-test-subj="apmCreateSloLink" | ||
href={basePath.prepend( | ||
`/app/observability/slos/create${sloParams}` | ||
)} |
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.
😍 Looking forward to see this in APM 👏🏻
💚 Build Succeeded
Metrics [docs]Module Count
Async chunks
Unknown metric groupsESLint disabled line counts
Total ESLint disabled count
History
To update your PR or re-run it, just comment with: |
@MiriamAparicio @kdelemme I just noticed from your recording that it is possible to create an SLO when "All" environments are selected. There is no environment called When "All environments" is selected in APM UI app I suggest passing |
You can provide
|
…160103) Bug fix for #159958 (comment) ### What was done Provide * to the params.environment field when environment_all, actionable observability will handle it internally
We split the work for #157484 into this PR and another one that will add the links to create SLOs from the Alerts and Rules dropdown in APM. Also, the design for the callout was simplified and we will iterate again in 8.10
What was done
Added callout with links to create SLOs in service overview, transactions overview and transaction details.
Screen.Recording.2023-06-20.at.09.44.40.mov