Skip to content

Commit

Permalink
feat(vitals): Support measurements in metric alerts
Browse files Browse the repository at this point in the history
  • Loading branch information
dashed committed Oct 26, 2020
1 parent aac8388 commit dfcfe3f
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 4 deletions.
2 changes: 1 addition & 1 deletion src/sentry/incidents/logic.py
Expand Up @@ -1350,7 +1350,7 @@ def get_column_from_aggregate(aggregate):

def check_aggregate_column_support(aggregate):
column = get_column_from_aggregate(aggregate)
return column is None or column in SUPPORTED_COLUMNS or column in TRANSLATABLE_COLUMNS
return column is None or column.startswith("measurements.") or column in SUPPORTED_COLUMNS or column in TRANSLATABLE_COLUMNS


def translate_aggregate_field(aggregate, reverse=False):
Expand Down
Expand Up @@ -43,7 +43,14 @@ export const transactionFieldConfig: OptionConfig = {
'p99',
'p100',
],
fields: ['transaction.duration'],
fields: [
'transaction.duration',
'measurements.lcp',
'measurements.fcp',
'measurements.fp',
'measurements.fid',
'measurements.cls',
],
};

export function createDefaultTrigger(label: 'critical' | 'warning'): Trigger {
Expand Down
Expand Up @@ -17,6 +17,7 @@ import {
generateFieldAsString,
AGGREGATIONS,
FIELDS,
measurementType,
} from 'app/utils/discover/fields';

import {errorFieldConfig, transactionFieldConfig} from './constants';
Expand All @@ -27,7 +28,7 @@ type Props = Omit<FormField['props'], 'children' | 'help'> & {
organization: Organization;
};

const getFieldOptionConfig = (dataset: Dataset) => {
const getFieldOptionConfig = (dataset: Dataset, organization: Organization) => {
const config = dataset === Dataset.ERRORS ? errorFieldConfig : transactionFieldConfig;

const aggregations = Object.fromEntries(
Expand All @@ -41,6 +42,12 @@ const getFieldOptionConfig = (dataset: Dataset) => {
return ['tags[sentry:user]', 'string'];
}

if (organization.features.includes('measurements')) {
if (key.startsWith('measurements.')) {
return [key, measurementType(key)];
}
}

return [key, FIELDS[key]];
})
);
Expand Down Expand Up @@ -81,7 +88,7 @@ const MetricField = ({organization, ...props}: Props) => (
{({onChange, value, model}) => {
const dataset = model.getValue('dataset');

const fieldOptionsConfig = getFieldOptionConfig(dataset);
const fieldOptionsConfig = getFieldOptionConfig(dataset, organization);
const fieldOptions = generateFieldOptions({organization, ...fieldOptionsConfig});
const fieldValue = explodeFieldString(value ?? '');

Expand Down

0 comments on commit dfcfe3f

Please sign in to comment.