2 |
3 | label:
4 | {{label}}
5 |
6 |
7 | os:
8 | {{oshi.os}}
9 |
10 |
11 | cpu.name:
12 | {{oshi['cpu.name']}}
13 |
14 |
15 | cpu.physical.processor.count:
16 | {{oshi['cpu.physical.processor.count']}}
17 |
18 |
19 | cpu.logical.processor.count:
20 | {{oshi['cpu.logical.processor.count']}}
21 |
22 |
23 | memory.total:
24 | {{formatMemorySize(oshi['memory.total'])}} GB
25 |
26 |
27 | memory.available:
28 | {{formatMemorySize(oshi['memory.available'])}} GB
29 |
30 |
31 |
--------------------------------------------------------------------------------
/ui/src/app/pages/shared/oshi-info/oshi-info.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Input } from '@angular/core'
2 | import { Oshi } from 'src/app/model/pea.model'
3 |
4 | @Component({
5 | selector: 'app-oshi-info',
6 | templateUrl: './oshi-info.component.html',
7 | styleUrls: ['./oshi-info.component.css']
8 | })
9 | export class OshiInfoComponent {
10 |
11 | GB = 1024 * 1024 * 1024
12 | oshi: Oshi = {}
13 |
14 | @Input() label: string = ''
15 | @Input()
16 | set data(data: Oshi) {
17 | this.oshi = data || {}
18 | }
19 |
20 | formatMemorySize(size: number) {
21 | return (size / this.GB).toFixed(2)
22 | }
23 |
24 | constructor() { }
25 | }
26 |
--------------------------------------------------------------------------------
/ui/src/app/pages/shared/pea-member/pea-member.component.css:
--------------------------------------------------------------------------------
1 | .title {
2 | padding-left: 8px;
3 | }
4 |
5 | .label {
6 | color: lightslategray;
7 | font-weight: 500;
8 | }
9 |
10 | .value {
11 | color: lightslategrey;
12 | font-weight: 500;
13 | }
14 |
15 | .margin {
16 | margin-left: 16px;
17 | }
18 |
19 | .table {
20 | margin-top: 8px;
21 | }
22 |
23 | .table th {
24 | padding: 0px;
25 | color: lightslategray;
26 | }
27 |
28 | .console {
29 | margin-top: 4px;
30 | padding: 4px;
31 | border: 1px solid #e8e8e8;
32 | border-radius: 4px;
33 | }
34 |
35 | .inj-type>i {
36 | color: lightseagreen;
37 | }
38 |
39 | .inj-type>span {
40 | color: gray;
41 | font-size: small;
42 | padding-left: 4px;
43 | }
44 |
45 | .inj-sum {
46 | margin-left: 4px;
47 | }
48 |
49 | .inj-sum>i {
50 | color: lightseagreen;
51 | }
52 |
53 | .inj-sum>span {
54 | color: gray;
55 | font-size: small;
56 | padding-left: 4px;
57 | }
58 |
59 | .injections {
60 | padding-bottom: 4px;
61 | margin-bottom: 8px;
62 | border-bottom: 1px solid whitesmoke;
63 | }
64 |
65 | .addr {
66 | margin-right: 8px;
67 | color: lightslategray;
68 | }
69 |
--------------------------------------------------------------------------------
/ui/src/app/pages/shared/response-monitor/response-monitor.component.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ojlm/pea/6669f6af77d9bd4dee249ffa19cc2e781291e79b/ui/src/app/pages/shared/response-monitor/response-monitor.component.css
--------------------------------------------------------------------------------
/ui/src/app/pages/shared/response-monitor/response-monitor.component.html:
--------------------------------------------------------------------------------
1 |