{#if $initq.fetching} {:else if $initq.error} {$initq.error.message} {/if} { jobFilters = [...detail.filters, { user: { eq: user.username } }]; selectedCluster = jobFilters[0]?.cluster ? jobFilters[0].cluster.eq : null; jobList.queryJobs(jobFilters); }} /> filterComponent.updateFilters(detail)} /> { jobList.refreshJobs() jobList.refreshAllMetrics() }} /> {#if $stats.error} {$stats.error.message} {:else if !$stats.data} {:else} {#if user.name} {/if} {#if user.email} {/if}
Username {scrambleNames ? scramble(user.username) : user.username}
Name {scrambleNames ? scramble(user.name) : user.name}
Email {user.email}
Total Jobs {$stats.data.jobsStatistics[0].totalJobs}
Short Jobs {$stats.data.jobsStatistics[0].shortJobs}
Total Walltime {$stats.data.jobsStatistics[0].totalWalltime}
Total Core Hours {$stats.data.jobsStatistics[0].totalCoreHours}
{#key $stats.data.jobsStatistics[0].histDuration} { handleZoom(detail) }} data={convert2uplot($stats.data.jobsStatistics[0].histDuration)} title="Duration Distribution" xlabel="Job Runtimes" xunit="Runtime" ylabel="Number of Jobs" yunit="Jobs" lastBinCount={pendingDurationBinCount} {durationZoomState} zoomableHistogram xtime /> {/key} {#key $stats.data.jobsStatistics[0].histNumNodes} {/key} {/if}
{#if metricsInHistograms?.length > 0} {#if $stats.error} {$stats.error.message} {:else if !$stats.data} {:else}
{#key $stats.data.jobsStatistics[0].histMetrics} { handleZoom(detail) }} data={convert2uplot(item.data)} usesBins={true} title="Distribution of '{item.metric} ({item.stat})' footprints" xlabel={`${item.metric} bin maximum ${item?.unit ? `[${item.unit}]` : ``}`} xunit={item.unit} ylabel="Number of Jobs" yunit="Jobs" lastBinCount={pendingMetricBinCount} {metricZoomState} zoomableHistogram /> {/key} {/if} {:else} No footprint histograms selected. {/if}