|
@@ -15,30 +15,30 @@ import {decodeHistogramZoom} from './transactionOverview/latencyChart/utils';
|
|
|
|
|
|
// Make sure to update other instances like trends column fields, discover field types.
|
|
|
export enum SpanOperationBreakdownFilter {
|
|
|
- None = 'none',
|
|
|
- Http = 'http',
|
|
|
- Db = 'db',
|
|
|
- Browser = 'browser',
|
|
|
- Resource = 'resource',
|
|
|
- Ui = 'ui',
|
|
|
+ NONE = 'none',
|
|
|
+ HTTP = 'http',
|
|
|
+ DB = 'db',
|
|
|
+ BROWSER = 'browser',
|
|
|
+ RESOURCE = 'resource',
|
|
|
+ UI = 'ui',
|
|
|
}
|
|
|
|
|
|
export const SPAN_OPERATION_BREAKDOWN_FILTER_TO_FIELD: Partial<
|
|
|
Record<SpanOperationBreakdownFilter, string>
|
|
|
> = {
|
|
|
- [SpanOperationBreakdownFilter.Http]: SpanOpBreakdown.SPANS_HTTP,
|
|
|
- [SpanOperationBreakdownFilter.Db]: SpanOpBreakdown.SPANS_DB,
|
|
|
- [SpanOperationBreakdownFilter.Browser]: SpanOpBreakdown.SPANS_BROWSER,
|
|
|
- [SpanOperationBreakdownFilter.Resource]: SpanOpBreakdown.SPANS_RESOURCE,
|
|
|
- [SpanOperationBreakdownFilter.Ui]: SpanOpBreakdown.SPANS_UI,
|
|
|
+ [SpanOperationBreakdownFilter.HTTP]: SpanOpBreakdown.SPANS_HTTP,
|
|
|
+ [SpanOperationBreakdownFilter.DB]: SpanOpBreakdown.SPANS_DB,
|
|
|
+ [SpanOperationBreakdownFilter.BROWSER]: SpanOpBreakdown.SPANS_BROWSER,
|
|
|
+ [SpanOperationBreakdownFilter.RESOURCE]: SpanOpBreakdown.SPANS_RESOURCE,
|
|
|
+ [SpanOperationBreakdownFilter.UI]: SpanOpBreakdown.SPANS_UI,
|
|
|
};
|
|
|
|
|
|
const OPTIONS: SpanOperationBreakdownFilter[] = [
|
|
|
- SpanOperationBreakdownFilter.Http,
|
|
|
- SpanOperationBreakdownFilter.Db,
|
|
|
- SpanOperationBreakdownFilter.Browser,
|
|
|
- SpanOperationBreakdownFilter.Resource,
|
|
|
- SpanOperationBreakdownFilter.Ui,
|
|
|
+ SpanOperationBreakdownFilter.HTTP,
|
|
|
+ SpanOperationBreakdownFilter.DB,
|
|
|
+ SpanOperationBreakdownFilter.BROWSER,
|
|
|
+ SpanOperationBreakdownFilter.RESOURCE,
|
|
|
+ SpanOperationBreakdownFilter.UI,
|
|
|
];
|
|
|
|
|
|
export const spanOperationBreakdownSingleColumns = OPTIONS.map(o => `spans.${o}`);
|
|
@@ -72,7 +72,7 @@ function Filter(props: Props) {
|
|
|
'aria-label': t('Filter by operation'),
|
|
|
}}
|
|
|
triggerLabel={
|
|
|
- currentFilter === SpanOperationBreakdownFilter.None
|
|
|
+ currentFilter === SpanOperationBreakdownFilter.NONE
|
|
|
? t('Filter')
|
|
|
: currentFilter
|
|
|
}
|
|
@@ -91,7 +91,7 @@ const OperationDot = styled('div')<{backgroundColor: string}>`
|
|
|
|
|
|
export function filterToField(option: SpanOperationBreakdownFilter) {
|
|
|
switch (option) {
|
|
|
- case SpanOperationBreakdownFilter.None:
|
|
|
+ case SpanOperationBreakdownFilter.NONE:
|
|
|
return undefined;
|
|
|
default: {
|
|
|
return `spans.${option}`;
|
|
@@ -119,7 +119,7 @@ export function filterToSearchConditions(
|
|
|
query = `${query} ${field}:<${max}ms`;
|
|
|
}
|
|
|
switch (option) {
|
|
|
- case SpanOperationBreakdownFilter.None:
|
|
|
+ case SpanOperationBreakdownFilter.NONE:
|
|
|
return query ? query.trim() : undefined;
|
|
|
default: {
|
|
|
return `${query} has:${filterToField(option)}`.trim();
|
|
@@ -129,7 +129,7 @@ export function filterToSearchConditions(
|
|
|
|
|
|
export function filterToColor(option: SpanOperationBreakdownFilter) {
|
|
|
switch (option) {
|
|
|
- case SpanOperationBreakdownFilter.None:
|
|
|
+ case SpanOperationBreakdownFilter.NONE:
|
|
|
return pickBarColor('');
|
|
|
default: {
|
|
|
return pickBarColor(option);
|
|
@@ -146,12 +146,12 @@ export function stringToFilter(option: string) {
|
|
|
return option as SpanOperationBreakdownFilter;
|
|
|
}
|
|
|
|
|
|
- return SpanOperationBreakdownFilter.None;
|
|
|
+ return SpanOperationBreakdownFilter.NONE;
|
|
|
}
|
|
|
|
|
|
export function decodeFilterFromLocation(location: Location) {
|
|
|
return stringToFilter(
|
|
|
- decodeScalar(location.query.breakdown, SpanOperationBreakdownFilter.None)
|
|
|
+ decodeScalar(location.query.breakdown, SpanOperationBreakdownFilter.NONE)
|
|
|
);
|
|
|
}
|
|
|
|