mirror of
https://github.com/elastic/kibana.git
synced 2025-06-28 11:05:39 -04:00
[APM] Alert rules: The transaction type and environment options are not filtered by the selected service (#149849)
closes https://github.com/elastic/kibana/issues/128257 https://user-images.githubusercontent.com/55978943/215530743-46577bb1-5cdd-459c-990e-aae00f604720.mov --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
parent
b9a999f7f8
commit
ad75d900c9
6 changed files with 44 additions and 5 deletions
|
@ -94,11 +94,17 @@ export function ErrorCountRuleType(props: Props) {
|
||||||
const fields = [
|
const fields = [
|
||||||
<ServiceField
|
<ServiceField
|
||||||
currentValue={params.serviceName}
|
currentValue={params.serviceName}
|
||||||
onChange={(value) => setRuleParams('serviceName', value)}
|
onChange={(value) => {
|
||||||
|
if (value !== params.serviceName) {
|
||||||
|
setRuleParams('serviceName', value);
|
||||||
|
setRuleParams('environment', ENVIRONMENT_ALL.value);
|
||||||
|
}
|
||||||
|
}}
|
||||||
/>,
|
/>,
|
||||||
<EnvironmentField
|
<EnvironmentField
|
||||||
currentValue={params.environment}
|
currentValue={params.environment}
|
||||||
onChange={(value) => setRuleParams('environment', value)}
|
onChange={(value) => setRuleParams('environment', value)}
|
||||||
|
serviceName={params.serviceName}
|
||||||
/>,
|
/>,
|
||||||
<IsAboveField
|
<IsAboveField
|
||||||
value={params.threshold}
|
value={params.threshold}
|
||||||
|
|
|
@ -71,15 +71,23 @@ export function TransactionDurationAnomalyRuleType(props: Props) {
|
||||||
const fields = [
|
const fields = [
|
||||||
<ServiceField
|
<ServiceField
|
||||||
currentValue={params.serviceName}
|
currentValue={params.serviceName}
|
||||||
onChange={(value) => setRuleParams('serviceName', value)}
|
onChange={(value) => {
|
||||||
|
if (value !== params.serviceName) {
|
||||||
|
setRuleParams('serviceName', value);
|
||||||
|
setRuleParams('transactionType', '');
|
||||||
|
setRuleParams('environment', ENVIRONMENT_ALL.value);
|
||||||
|
}
|
||||||
|
}}
|
||||||
/>,
|
/>,
|
||||||
<TransactionTypeField
|
<TransactionTypeField
|
||||||
currentValue={params.transactionType}
|
currentValue={params.transactionType}
|
||||||
onChange={(value) => setRuleParams('transactionType', value)}
|
onChange={(value) => setRuleParams('transactionType', value)}
|
||||||
|
serviceName={params.serviceName}
|
||||||
/>,
|
/>,
|
||||||
<EnvironmentField
|
<EnvironmentField
|
||||||
currentValue={params.environment}
|
currentValue={params.environment}
|
||||||
onChange={(value) => setRuleParams('environment', value)}
|
onChange={(value) => setRuleParams('environment', value)}
|
||||||
|
serviceName={params.serviceName}
|
||||||
/>,
|
/>,
|
||||||
<PopoverExpression
|
<PopoverExpression
|
||||||
value={<AnomalySeverity type={params.anomalySeverityType} />}
|
value={<AnomalySeverity type={params.anomalySeverityType} />}
|
||||||
|
|
|
@ -146,15 +146,23 @@ export function TransactionDurationRuleType(props: Props) {
|
||||||
<ServiceField
|
<ServiceField
|
||||||
allowAll={false}
|
allowAll={false}
|
||||||
currentValue={params.serviceName}
|
currentValue={params.serviceName}
|
||||||
onChange={(value) => setRuleParams('serviceName', value)}
|
onChange={(value) => {
|
||||||
|
if (value !== params.serviceName) {
|
||||||
|
setRuleParams('serviceName', value);
|
||||||
|
setRuleParams('transactionType', '');
|
||||||
|
setRuleParams('environment', ENVIRONMENT_ALL.value);
|
||||||
|
}
|
||||||
|
}}
|
||||||
/>,
|
/>,
|
||||||
<TransactionTypeField
|
<TransactionTypeField
|
||||||
currentValue={params.transactionType}
|
currentValue={params.transactionType}
|
||||||
onChange={(value) => setRuleParams('transactionType', value)}
|
onChange={(value) => setRuleParams('transactionType', value)}
|
||||||
|
serviceName={params.serviceName}
|
||||||
/>,
|
/>,
|
||||||
<EnvironmentField
|
<EnvironmentField
|
||||||
currentValue={params.environment}
|
currentValue={params.environment}
|
||||||
onChange={(value) => setRuleParams('environment', value)}
|
onChange={(value) => setRuleParams('environment', value)}
|
||||||
|
serviceName={params.serviceName}
|
||||||
/>,
|
/>,
|
||||||
<PopoverExpression
|
<PopoverExpression
|
||||||
value={params.aggregationType}
|
value={params.aggregationType}
|
||||||
|
|
|
@ -99,15 +99,23 @@ export function TransactionErrorRateRuleType(props: Props) {
|
||||||
const fields = [
|
const fields = [
|
||||||
<ServiceField
|
<ServiceField
|
||||||
currentValue={params.serviceName}
|
currentValue={params.serviceName}
|
||||||
onChange={(value) => setRuleParams('serviceName', value)}
|
onChange={(value) => {
|
||||||
|
if (value !== params.serviceName) {
|
||||||
|
setRuleParams('serviceName', value);
|
||||||
|
setRuleParams('transactionType', '');
|
||||||
|
setRuleParams('environment', ENVIRONMENT_ALL.value);
|
||||||
|
}
|
||||||
|
}}
|
||||||
/>,
|
/>,
|
||||||
<TransactionTypeField
|
<TransactionTypeField
|
||||||
currentValue={params.transactionType}
|
currentValue={params.transactionType}
|
||||||
onChange={(value) => setRuleParams('transactionType', value)}
|
onChange={(value) => setRuleParams('transactionType', value)}
|
||||||
|
serviceName={params.serviceName}
|
||||||
/>,
|
/>,
|
||||||
<EnvironmentField
|
<EnvironmentField
|
||||||
currentValue={params.environment}
|
currentValue={params.environment}
|
||||||
onChange={(value) => setRuleParams('environment', value)}
|
onChange={(value) => setRuleParams('environment', value)}
|
||||||
|
serviceName={params.serviceName}
|
||||||
/>,
|
/>,
|
||||||
<IsAboveField
|
<IsAboveField
|
||||||
value={params.threshold}
|
value={params.threshold}
|
||||||
|
|
|
@ -63,9 +63,11 @@ export function ServiceField({
|
||||||
export function EnvironmentField({
|
export function EnvironmentField({
|
||||||
currentValue,
|
currentValue,
|
||||||
onChange,
|
onChange,
|
||||||
|
serviceName,
|
||||||
}: {
|
}: {
|
||||||
currentValue: string;
|
currentValue: string;
|
||||||
onChange: (value?: string) => void;
|
onChange: (value?: string) => void;
|
||||||
|
serviceName?: string;
|
||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<PopoverExpression
|
<PopoverExpression
|
||||||
|
@ -90,6 +92,7 @@ export function EnvironmentField({
|
||||||
})}
|
})}
|
||||||
start={moment().subtract(24, 'h').toISOString()}
|
start={moment().subtract(24, 'h').toISOString()}
|
||||||
end={moment().toISOString()}
|
end={moment().toISOString()}
|
||||||
|
serviceName={serviceName}
|
||||||
/>
|
/>
|
||||||
</PopoverExpression>
|
</PopoverExpression>
|
||||||
);
|
);
|
||||||
|
@ -98,9 +101,11 @@ export function EnvironmentField({
|
||||||
export function TransactionTypeField({
|
export function TransactionTypeField({
|
||||||
currentValue,
|
currentValue,
|
||||||
onChange,
|
onChange,
|
||||||
|
serviceName,
|
||||||
}: {
|
}: {
|
||||||
currentValue?: string;
|
currentValue?: string;
|
||||||
onChange: (value?: string) => void;
|
onChange: (value?: string) => void;
|
||||||
|
serviceName?: string;
|
||||||
}) {
|
}) {
|
||||||
const label = i18n.translate('xpack.apm.alerting.fields.type', {
|
const label = i18n.translate('xpack.apm.alerting.fields.type', {
|
||||||
defaultMessage: 'Type',
|
defaultMessage: 'Type',
|
||||||
|
@ -126,6 +131,7 @@ export function TransactionTypeField({
|
||||||
)}
|
)}
|
||||||
start={moment().subtract(24, 'h').toISOString()}
|
start={moment().subtract(24, 'h').toISOString()}
|
||||||
end={moment().toISOString()}
|
end={moment().toISOString()}
|
||||||
|
serviceName={serviceName}
|
||||||
/>
|
/>
|
||||||
</PopoverExpression>
|
</PopoverExpression>
|
||||||
);
|
);
|
||||||
|
|
|
@ -23,6 +23,7 @@ interface SuggestionsSelectProps {
|
||||||
placeholder: string;
|
placeholder: string;
|
||||||
dataTestSubj?: string;
|
dataTestSubj?: string;
|
||||||
prepend?: string;
|
prepend?: string;
|
||||||
|
serviceName?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function SuggestionsSelect({
|
export function SuggestionsSelect({
|
||||||
|
@ -38,6 +39,7 @@ export function SuggestionsSelect({
|
||||||
dataTestSubj,
|
dataTestSubj,
|
||||||
isClearable = true,
|
isClearable = true,
|
||||||
prepend,
|
prepend,
|
||||||
|
serviceName,
|
||||||
}: SuggestionsSelectProps) {
|
}: SuggestionsSelectProps) {
|
||||||
let defaultOption: EuiComboBoxOptionOption<string> | undefined;
|
let defaultOption: EuiComboBoxOptionOption<string> | undefined;
|
||||||
|
|
||||||
|
@ -59,11 +61,12 @@ export function SuggestionsSelect({
|
||||||
fieldValue: searchValue,
|
fieldValue: searchValue,
|
||||||
start,
|
start,
|
||||||
end,
|
end,
|
||||||
|
serviceName,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
[fieldName, searchValue, start, end],
|
[fieldName, searchValue, start, end, serviceName],
|
||||||
{ preservePreviousData: false }
|
{ preservePreviousData: false }
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue