晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
| DIR:/lib/python3.9/site-packages/glances/outputs/static/js/components/ |
| Current File : //lib/python3.9/site-packages/glances/outputs/static/js/components/plugin-gpu.vue |
<template>
<section id="gpu" class="plugin">
<div class="gpu-name title">
{{ name }}
</div>
<div class="table">
<div class="table-row" v-if="args.meangpu || gpus.length === 1">
<div class="table-cell text-left">proc:</div>
<div class="table-cell" :class="getMeanDecoration('proc')" v-if="mean.proc != null">
{{ $filters.number(mean.proc, 0) }}%
</div>
<div class="table-cell" v-if="mean.proc == null">N/A</div>
</div>
<div class="table-row" v-if="args.meangpu || gpus.length === 1">
<div class="table-cell text-left">mem:</div>
<div class="table-cell" :class="getMeanDecoration('mem')" v-if="mean.mem != null">
{{ $filters.number(mean.mem, 0) }}%
</div>
<div class="table-cell" v-if="mean.mem == null">N/A</div>
</div>
<div class="table-row" v-if="args.meangpu || gpus.length === 1">
<div class="table-cell text-left">temperature::</div>
<div
class="table-cell"
:class="getMeanDecoration('temperature')"
v-if="mean.temperature != null"
>
{{ $filters.number(mean.temperature, 0) }}°
</div>
<div class="table-cell" v-if="mean.temperature == null">N/A</div>
</div>
<template v-if="!args.meangpu && gpus.length > 1">
<div class="table-row" v-for="(gpu, gpuId) in gpus" :key="gpuId">
<div class="table-cell text-left">
{{ gpu.gpu_id }}:
<span :class="getDecoration(gpu.gpu_id, 'proc')" v-if="gpu.proc != null">
{{ $filters.number(gpu.proc, 0) }}%
</span>
<span v-if="gpu.proc == null">N/A</span>
mem:
<span :class="getDecoration(gpu.gpu_id, 'mem')" v-if="gpu.mem != null">
{{ $filters.number(gpu.mem, 0) }}%
</span>
<span v-if="gpu.mem == null">N/A</span>
temp:
<span
:class="getDecoration(gpu.gpu_id, 'temperature')"
v-if="gpu.temperature != null"
>
{{ $filters.number(gpu.temperature, 0) }}C
</span>
<span v-if="gpu.temperature == null">N/A</span>
</div>
</div>
</template>
</div>
</section>
</template>
<script>
import { store } from '../store.js';
export default {
props: {
data: {
type: Object
}
},
data() {
return {
store
};
},
computed: {
args() {
return this.store.args || {};
},
stats() {
return this.data.stats['gpu'];
},
view() {
return this.data.views['gpu'];
},
gpus() {
return this.stats;
},
name() {
let name = 'GPU';
const sameName = true;
const { stats } = this;
if (stats.length === 1) {
name = stats[0].name;
} else if (stats.length && sameName) {
name = `${stats.length} GPU ${stats[0].name}`;
}
return name;
},
mean() {
const mean = {
proc: null,
mem: null,
temperature: null
};
const { stats } = this;
if (!stats.length) {
return mean;
}
for (let gpu of stats) {
mean.proc += gpu.proc;
mean.mem += gpu.mem;
mean.temperature += gpu.temperature;
}
mean.proc = mean.proc / stats.length;
mean.mem = mean.mem / stats.length;
mean.temperature = mean.temperature / stats.length;
return mean;
}
},
methods: {
getDecoration(gpuId, value) {
if (this.view[gpuId][value] === undefined) {
return;
}
return this.view[gpuId][value].decoration.toLowerCase();
},
getMeanDecoration(value) {
return this.getDecoration(0, value);
}
}
};
</script> |