UNPKG

ng-jhipster

Version:

A Jhipster util library for Angular

106 lines (102 loc) 12.1 kB
/* Copyright 2013-2020 the original author or authors from the JHipster project. This file is part of the JHipster project, see https://www.jhipster.tech/ for more information. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ import { Component, Input } from '@angular/core'; export class JhiMetricsSystemComponent { convertMillisecondsToDuration(ms) { const times = { year: 31557600000, month: 2629746000, day: 86400000, hour: 3600000, minute: 60000, second: 1000 }; let timeString = ''; for (const key in times) { if (Math.floor(ms / times[key]) > 0) { let plural = ''; if (Math.floor(ms / times[key]) > 1) { plural = 's'; } timeString += Math.floor(ms / times[key]).toString() + ' ' + key.toString() + plural + ' '; ms = ms - times[key] * Math.floor(ms / times[key]); } } return timeString; } } JhiMetricsSystemComponent.decorators = [ { type: Component, args: [{ selector: 'jhi-metrics-system', template: ` <h4>System</h4> <div class="row" *ngIf="!updating"> <div class="col-md-4">Uptime</div> <div class="col-md-8 text-right">{{ convertMillisecondsToDuration(systemMetrics['process.uptime']) }}</div> </div> <div class="row" *ngIf="!updating"> <div class="col-md-4">Start time</div> <div class="col-md-8 text-right">{{ systemMetrics['process.start.time'] | date: 'full' }}</div> </div> <div class="row" *ngIf="!updating"> <div class="col-md-9">Process CPU usage</div> <div class="col-md-3 text-right">{{ 100 * systemMetrics['process.cpu.usage'] | number: '1.0-2' }} %</div> </div> <ngb-progressbar [value]="100 * systemMetrics['process.cpu.usage']" [striped]="true" [animated]="false" type="success" *ngIf="!updating" > <span>{{ 100 * systemMetrics['process.cpu.usage'] | number: '1.0-2' }} %</span> </ngb-progressbar> <div class="row" *ngIf="!updating"> <div class="col-md-9">System CPU usage</div> <div class="col-md-3 text-right">{{ 100 * systemMetrics['system.cpu.usage'] | number: '1.0-2' }} %</div> </div> <ngb-progressbar [value]="100 * systemMetrics['system.cpu.usage']" [striped]="true" [animated]="false" type="success" *ngIf="!updating" > <span>{{ 100 * systemMetrics['system.cpu.usage'] | number: '1.0-2' }} %</span> </ngb-progressbar> <div class="row" *ngIf="!updating"> <div class="col-md-9">System CPU count</div> <div class="col-md-3 text-right">{{ systemMetrics['system.cpu.count'] }}</div> </div> <div class="row" *ngIf="!updating"> <div class="col-md-9">System 1m Load average</div> <div class="col-md-3 text-right">{{ systemMetrics['system.load.average.1m'] | number: '1.0-2' }}</div> </div> <div class="row" *ngIf="!updating"> <div class="col-md-9">Process files max</div> <div class="col-md-3 text-right">{{ systemMetrics['process.files.max'] | number: '1.0-0' }}</div> </div> <div class="row" *ngIf="!updating"> <div class="col-md-9">Process files open</div> <div class="col-md-3 text-right">{{ systemMetrics['process.files.open'] | number: '1.0-0' }}</div> </div> ` },] } ]; JhiMetricsSystemComponent.propDecorators = { systemMetrics: [{ type: Input }], updating: [{ type: Input }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamhpLW1ldHJpY3Mtc3lzdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvbWV0cmljcy9qaGktbWV0cmljcy1zeXN0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUNILE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBMERqRCxNQUFNLE9BQU8seUJBQXlCO0lBV2xDLDZCQUE2QixDQUFDLEVBQUU7UUFDNUIsTUFBTSxLQUFLLEdBQUc7WUFDVixJQUFJLEVBQUUsV0FBVztZQUNqQixLQUFLLEVBQUUsVUFBVTtZQUNqQixHQUFHLEVBQUUsUUFBUTtZQUNiLElBQUksRUFBRSxPQUFPO1lBQ2IsTUFBTSxFQUFFLEtBQUs7WUFDYixNQUFNLEVBQUUsSUFBSTtTQUNmLENBQUM7UUFDRixJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDcEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQUU7WUFDckIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2pDLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2pDLE1BQU0sR0FBRyxHQUFHLENBQUM7aUJBQ2hCO2dCQUNELFVBQVUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLE1BQU0sR0FBRyxHQUFHLENBQUM7Z0JBQzNGLEVBQUUsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ3REO1NBQ0o7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDOzs7WUF4RkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW9EVDthQUNKOzs7NEJBS0ksS0FBSzt1QkFLTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiBDb3B5cmlnaHQgMjAxMy0yMDIwIHRoZSBvcmlnaW5hbCBhdXRob3Igb3IgYXV0aG9ycyBmcm9tIHRoZSBKSGlwc3RlciBwcm9qZWN0LlxuXG4gVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEpIaXBzdGVyIHByb2plY3QsIHNlZSBodHRwczovL3d3dy5qaGlwc3Rlci50ZWNoL1xuIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG4gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnamhpLW1ldHJpY3Mtc3lzdGVtJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8aDQ+U3lzdGVtPC9oND5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwiIXVwZGF0aW5nXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5VcHRpbWU8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOCB0ZXh0LXJpZ2h0XCI+e3sgY29udmVydE1pbGxpc2Vjb25kc1RvRHVyYXRpb24oc3lzdGVtTWV0cmljc1sncHJvY2Vzcy51cHRpbWUnXSkgfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1cIiF1cGRhdGluZ1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+U3RhcnQgdGltZTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC04IHRleHQtcmlnaHRcIj57eyBzeXN0ZW1NZXRyaWNzWydwcm9jZXNzLnN0YXJ0LnRpbWUnXSB8IGRhdGU6ICdmdWxsJyB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwiIXVwZGF0aW5nXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTlcIj5Qcm9jZXNzIENQVSB1c2FnZTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0zIHRleHQtcmlnaHRcIj57eyAxMDAgKiBzeXN0ZW1NZXRyaWNzWydwcm9jZXNzLmNwdS51c2FnZSddIHwgbnVtYmVyOiAnMS4wLTInIH19ICU8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZ2ItcHJvZ3Jlc3NiYXJcbiAgICAgICAgICAgIFt2YWx1ZV09XCIxMDAgKiBzeXN0ZW1NZXRyaWNzWydwcm9jZXNzLmNwdS51c2FnZSddXCJcbiAgICAgICAgICAgIFtzdHJpcGVkXT1cInRydWVcIlxuICAgICAgICAgICAgW2FuaW1hdGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgIHR5cGU9XCJzdWNjZXNzXCJcbiAgICAgICAgICAgICpuZ0lmPVwiIXVwZGF0aW5nXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4+e3sgMTAwICogc3lzdGVtTWV0cmljc1sncHJvY2Vzcy5jcHUudXNhZ2UnXSB8IG51bWJlcjogJzEuMC0yJyB9fSAlPC9zcGFuPlxuICAgICAgICA8L25nYi1wcm9ncmVzc2Jhcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwiIXVwZGF0aW5nXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTlcIj5TeXN0ZW0gQ1BVIHVzYWdlPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgdGV4dC1yaWdodFwiPnt7IDEwMCAqIHN5c3RlbU1ldHJpY3NbJ3N5c3RlbS5jcHUudXNhZ2UnXSB8IG51bWJlcjogJzEuMC0yJyB9fSAlPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmdiLXByb2dyZXNzYmFyXG4gICAgICAgICAgICBbdmFsdWVdPVwiMTAwICogc3lzdGVtTWV0cmljc1snc3lzdGVtLmNwdS51c2FnZSddXCJcbiAgICAgICAgICAgIFtzdHJpcGVkXT1cInRydWVcIlxuICAgICAgICAgICAgW2FuaW1hdGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgIHR5cGU9XCJzdWNjZXNzXCJcbiAgICAgICAgICAgICpuZ0lmPVwiIXVwZGF0aW5nXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4+e3sgMTAwICogc3lzdGVtTWV0cmljc1snc3lzdGVtLmNwdS51c2FnZSddIHwgbnVtYmVyOiAnMS4wLTInIH19ICU8L3NwYW4+XG4gICAgICAgIDwvbmdiLXByb2dyZXNzYmFyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCIhdXBkYXRpbmdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOVwiPlN5c3RlbSBDUFUgY291bnQ8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyB0ZXh0LXJpZ2h0XCI+e3sgc3lzdGVtTWV0cmljc1snc3lzdGVtLmNwdS5jb3VudCddIH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCIhdXBkYXRpbmdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOVwiPlN5c3RlbSAxbSBMb2FkIGF2ZXJhZ2U8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyB0ZXh0LXJpZ2h0XCI+e3sgc3lzdGVtTWV0cmljc1snc3lzdGVtLmxvYWQuYXZlcmFnZS4xbSddIHwgbnVtYmVyOiAnMS4wLTInIH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCIhdXBkYXRpbmdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOVwiPlByb2Nlc3MgZmlsZXMgbWF4PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgdGV4dC1yaWdodFwiPnt7IHN5c3RlbU1ldHJpY3NbJ3Byb2Nlc3MuZmlsZXMubWF4J10gfCBudW1iZXI6ICcxLjAtMCcgfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1cIiF1cGRhdGluZ1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC05XCI+UHJvY2VzcyBmaWxlcyBvcGVuPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgdGV4dC1yaWdodFwiPnt7IHN5c3RlbU1ldHJpY3NbJ3Byb2Nlc3MuZmlsZXMub3BlbiddIHwgbnVtYmVyOiAnMS4wLTAnIH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIGBcbn0pXG5leHBvcnQgY2xhc3MgSmhpTWV0cmljc1N5c3RlbUNvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICogb2JqZWN0IGNvbnRhaW5pbmcgdGhyZWFkIHJlbGF0ZWQgbWV0cmljc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN5c3RlbU1ldHJpY3M6IHt9O1xuXG4gICAgLyoqXG4gICAgICogYm9vbGVhbiBmaWVsZCBzYXlpbmcgaWYgdGhlIG1ldHJpY3MgYXJlIGluIHRoZSBwcm9jZXNzIG9mIGJlaW5nIHVwZGF0ZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKSB1cGRhdGluZzogYm9vbGVhbjtcblxuICAgIGNvbnZlcnRNaWxsaXNlY29uZHNUb0R1cmF0aW9uKG1zKSB7XG4gICAgICAgIGNvbnN0IHRpbWVzID0ge1xuICAgICAgICAgICAgeWVhcjogMzE1NTc2MDAwMDAsXG4gICAgICAgICAgICBtb250aDogMjYyOTc0NjAwMCxcbiAgICAgICAgICAgIGRheTogODY0MDAwMDAsXG4gICAgICAgICAgICBob3VyOiAzNjAwMDAwLFxuICAgICAgICAgICAgbWludXRlOiA2MDAwMCxcbiAgICAgICAgICAgIHNlY29uZDogMTAwMFxuICAgICAgICB9O1xuICAgICAgICBsZXQgdGltZVN0cmluZyA9ICcnO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aW1lcykge1xuICAgICAgICAgICAgaWYgKE1hdGguZmxvb3IobXMgLyB0aW1lc1trZXldKSA+IDApIHtcbiAgICAgICAgICAgICAgICBsZXQgcGx1cmFsID0gJyc7XG4gICAgICAgICAgICAgICAgaWYgKE1hdGguZmxvb3IobXMgLyB0aW1lc1trZXldKSA+IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgcGx1cmFsID0gJ3MnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aW1lU3RyaW5nICs9IE1hdGguZmxvb3IobXMgLyB0aW1lc1trZXldKS50b1N0cmluZygpICsgJyAnICsga2V5LnRvU3RyaW5nKCkgKyBwbHVyYWwgKyAnICc7XG4gICAgICAgICAgICAgICAgbXMgPSBtcyAtIHRpbWVzW2tleV0gKiBNYXRoLmZsb29yKG1zIC8gdGltZXNba2V5XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRpbWVTdHJpbmc7XG4gICAgfVxufVxuIl19