diff --git a/ui/packages/shared/profile/src/ProfileMetricsGraph/index.tsx b/ui/packages/shared/profile/src/ProfileMetricsGraph/index.tsx index 030ec073056..0b9029b9688 100644 --- a/ui/packages/shared/profile/src/ProfileMetricsGraph/index.tsx +++ b/ui/packages/shared/profile/src/ProfileMetricsGraph/index.tsx @@ -368,9 +368,15 @@ const ProfileMetricsGraph = ({ yAxisLabel = 'CPU Cores'; yAxisUnit = ''; } - if (sampleType === 'cuda') { + if (sampleType === 'cuda' || sampleType === 'gpu_time') { yAxisLabel = 'GPU Time'; } + if (sampleType === 'gpu_kernel_time') { + yAxisLabel = 'GPU Kernel Time'; + } + if (sampleType === 'gpu_stall_time') { + yAxisLabel = 'GPU Stall Time'; + } } if (sampleUnit === 'bytes') { yAxisLabel = 'Bytes per Second'; diff --git a/ui/packages/shared/profile/src/ProfileTypeSelector/index.tsx b/ui/packages/shared/profile/src/ProfileTypeSelector/index.tsx index e9f9c1a9e85..3d21e0ce87e 100644 --- a/ui/packages/shared/profile/src/ProfileTypeSelector/index.tsx +++ b/ui/packages/shared/profile/src/ProfileTypeSelector/index.tsx @@ -111,6 +111,18 @@ export const wellKnownProfiles: WellKnownProfiles = { name: 'On-GPU', help: 'Time spent on the GPU.', }, + 'parca_agent:gpu_time:nanoseconds:gpu_time:nanoseconds:delta': { + name: 'On-GPU', + help: 'Time spent on the GPU. Combines kernel execution time and PC stall samples; the gpu_view label distinguishes the two views.', + }, + 'parca_agent:gpu_kernel_time:nanoseconds:gpu_kernel_time:nanoseconds:delta': { + name: 'On-GPU', + help: 'GPU kernel execution time measured via CUDA runtime callbacks.', + }, + 'parca_agent:gpu_stall_time:nanoseconds:gpu_stall_time:nanoseconds:delta': { + name: 'GPU Stalls', + help: 'GPU stall time accumulated from PC sampling — shows where threads were waiting on the GPU.', + }, }; export function flexibleWellKnownProfileMatching(name: string): WellKnownProfile | undefined {