|
@@ -3,7 +3,12 @@ import {Fragment} from 'react';
|
|
import ContextBlock from 'sentry/components/events/contexts/contextBlock';
|
|
import ContextBlock from 'sentry/components/events/contexts/contextBlock';
|
|
import type {Event} from 'sentry/types/event';
|
|
import type {Event} from 'sentry/types/event';
|
|
|
|
|
|
-import {getContextMeta, getKnownData, getUnknownData} from '../utils';
|
|
|
|
|
|
+import {
|
|
|
|
+ getContextMeta,
|
|
|
|
+ getKnownData,
|
|
|
|
+ getKnownStructuredData,
|
|
|
|
+ getUnknownData,
|
|
|
|
+} from '../utils';
|
|
|
|
|
|
import {getGPUKnownDataDetails} from './getGPUKnownDataDetails';
|
|
import {getGPUKnownDataDetails} from './getGPUKnownDataDetails';
|
|
import type {GPUData} from './types';
|
|
import type {GPUData} from './types';
|
|
@@ -27,35 +32,45 @@ export const gpuKnownDataValues = [
|
|
|
|
|
|
const gpuIgnoredDataValues = [];
|
|
const gpuIgnoredDataValues = [];
|
|
|
|
|
|
-export function GPUEventContext({data, event, meta: propsMeta}: Props) {
|
|
|
|
|
|
+function getGpuValues({data}: Pick<Props, 'data'>) {
|
|
const gpuValues = [...gpuKnownDataValues];
|
|
const gpuValues = [...gpuKnownDataValues];
|
|
- const meta = propsMeta ?? getContextMeta(event, 'gpu');
|
|
|
|
-
|
|
|
|
if (data.vendor_id > 0) {
|
|
if (data.vendor_id > 0) {
|
|
gpuValues.unshift(GPUKnownDataType.VENDOR_ID);
|
|
gpuValues.unshift(GPUKnownDataType.VENDOR_ID);
|
|
}
|
|
}
|
|
-
|
|
|
|
if (data.id > 0) {
|
|
if (data.id > 0) {
|
|
gpuValues.unshift(GPUKnownDataType.ID);
|
|
gpuValues.unshift(GPUKnownDataType.ID);
|
|
}
|
|
}
|
|
|
|
+ return gpuValues;
|
|
|
|
+}
|
|
|
|
|
|
|
|
+export function getKnownGpuContextData({data, meta}: Pick<Props, 'data' | 'meta'>) {
|
|
|
|
+ const gpuValues = getGpuValues({data});
|
|
|
|
+ return getKnownData<GPUData, GPUKnownDataType>({
|
|
|
|
+ data,
|
|
|
|
+ meta,
|
|
|
|
+ knownDataTypes: gpuValues,
|
|
|
|
+ onGetKnownDataDetails: v => getGPUKnownDataDetails(v),
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+export function getUnknownGpuContextData({data, meta}: Pick<Props, 'data' | 'meta'>) {
|
|
|
|
+ const gpuValues = getGpuValues({data});
|
|
|
|
+ return getUnknownData({
|
|
|
|
+ allData: data,
|
|
|
|
+ knownKeys: [...gpuValues, ...gpuIgnoredDataValues],
|
|
|
|
+ meta,
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+export function GPUEventContext({data, event, meta: propsMeta}: Props) {
|
|
|
|
+ const meta = propsMeta ?? getContextMeta(event, 'gpu');
|
|
|
|
+ const knownData = getKnownGpuContextData({data, meta});
|
|
|
|
+ const knownStructuredData = getKnownStructuredData(knownData, meta);
|
|
|
|
+ const unknownData = getUnknownGpuContextData({data, meta});
|
|
return (
|
|
return (
|
|
<Fragment>
|
|
<Fragment>
|
|
- <ContextBlock
|
|
|
|
- data={getKnownData<GPUData, GPUKnownDataType>({
|
|
|
|
- data,
|
|
|
|
- meta,
|
|
|
|
- knownDataTypes: gpuValues,
|
|
|
|
- onGetKnownDataDetails: v => getGPUKnownDataDetails(v),
|
|
|
|
- })}
|
|
|
|
- />
|
|
|
|
- <ContextBlock
|
|
|
|
- data={getUnknownData({
|
|
|
|
- allData: data,
|
|
|
|
- knownKeys: [...gpuValues, ...gpuIgnoredDataValues],
|
|
|
|
- meta,
|
|
|
|
- })}
|
|
|
|
- />
|
|
|
|
|
|
+ <ContextBlock data={knownStructuredData} />
|
|
|
|
+ <ContextBlock data={unknownData} />
|
|
</Fragment>
|
|
</Fragment>
|
|
);
|
|
);
|
|
}
|
|
}
|