1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import {Location} from 'history';
- import {Organization} from 'sentry/types';
- import {
- canUseMetricsData,
- MetricsEnhancedSettingContext,
- } from 'sentry/utils/performance/contexts/metricsEnhancedSetting';
- import {decodeScalar} from 'sentry/utils/queryString';
- import {getMEPQueryParams} from 'sentry/views/performance/landing/widgets/utils';
- import {DisplayModes} from 'sentry/views/performance/transactionSummary/utils';
- export const DISPLAY_MAP_DENY_LIST = [DisplayModes.TREND, DisplayModes.LATENCY];
- export function canUseTransactionMetricsData(organization, location) {
- const isUsingMetrics = canUseMetricsData(organization);
- if (!isUsingMetrics) {
- return false;
- }
- const display = decodeScalar(
- location.query.display,
- DisplayModes.DURATION
- ) as DisplayModes;
- const breakdown = decodeScalar(location.query.breakdown, '');
- const query = decodeScalar(location.query.query, '');
- // certain charts aren't compatible with metrics
- if (DISPLAY_MAP_DENY_LIST.includes(display)) {
- return false;
- }
- // span op breakdown filters aren't compatible with metrics
- if (breakdown) {
- return false;
- }
- // in the short term, using any filter will force indexed event search
- if (query) {
- return false;
- }
- return true;
- }
- export function getTransactionMEPParamsIfApplicable(
- mepContext: MetricsEnhancedSettingContext,
- organization: Organization,
- location: Location,
- unfiltered: boolean = false
- ) {
- if (!organization.features.includes('performance-metrics-backed-transaction-summary')) {
- return undefined;
- }
- if (!unfiltered && !canUseTransactionMetricsData(organization, location)) {
- return undefined;
- }
- return getMEPQueryParams(mepContext);
- }
- export function canUseMetricsInTransactionSummary(organization: Organization) {
- return (
- canUseMetricsData(organization) &&
- organization.features.includes('performance-metrics-backed-transaction-summary')
- );
- }
|