@esfaenza/admin-module 11.2.4 → 11.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/esfaenza-admin-module.umd.js +66 -17
- package/bundles/esfaenza-admin-module.umd.js.map +1 -1
- package/bundles/esfaenza-admin-module.umd.min.js +2 -2
- package/bundles/esfaenza-admin-module.umd.min.js.map +1 -1
- package/esfaenza-admin-module.metadata.json +1 -1
- package/esm2015/lib/admin-module.comms.service.js +4 -5
- package/esm2015/lib/admin-module.module.js +5 -4
- package/esm2015/lib/components/audits/adm_audits.component.js +7 -5
- package/esm2015/lib/components/audits/adm_audits.component.loc.js +3 -1
- package/esm2015/lib/components/profiler/adm_profiler.component.js +2 -2
- package/esm2015/lib/components/profiler/adm_profiler.component.loc.js +3 -1
- package/esm2015/lib/components/topact/topact_search.component.js +30 -6
- package/esm2015/lib/components/topact/topact_search.component.loc.js +7 -1
- package/esm2015/lib/models/components/Audit.js +1 -1
- package/esm2015/lib/models/components/AuditsView.js +1 -1
- package/esm2015/lib/models/components/NodeStats.js +3 -0
- package/esm2015/lib/models/components/ProfilerDataNode.js +9 -1
- package/esm2015/lib/models/components/ProfilerDataNode.loc.js +4 -2
- package/esm2015/lib/models/components/TopNode.js +1 -1
- package/esm2015/lib/models/externals/Repository.js +3 -2
- package/esm2015/lib/tokens.js +2 -1
- package/fesm2015/esfaenza-admin-module.js +65 -19
- package/fesm2015/esfaenza-admin-module.js.map +1 -1
- package/lib/components/audits/adm_audits.component.d.ts +2 -1
- package/lib/components/topact/topact_search.component.d.ts +4 -0
- package/lib/models/components/Audit.d.ts +2 -0
- package/lib/models/components/AuditsView.d.ts +2 -0
- package/lib/models/components/NodeStats.d.ts +21 -0
- package/lib/models/components/ProfilerDataNode.d.ts +2 -0
- package/lib/models/components/ProfilerDataNode.loc.d.ts +8 -0
- package/lib/models/components/TopNode.d.ts +1 -0
- package/lib/models/externals/Repository.d.ts +1 -0
- package/lib/tokens.d.ts +1 -0
- package/package.json +1 -1
|
@@ -351,12 +351,14 @@
|
|
|
351
351
|
GET_Adm_KillProcess: "/api/Adm/KillProcess",
|
|
352
352
|
GET_Adm_SetProcessTracing: "/api/Adm/SetProcessTracing",
|
|
353
353
|
GET_Adm_StartWorker: "/api/Adm/StartWorker",
|
|
354
|
-
GET_Adm_StopWorker: "/api/Adm/StopWorker"
|
|
354
|
+
GET_Adm_StopWorker: "/api/Adm/StopWorker",
|
|
355
|
+
GET_Adm_GetNodeStats: "/api/Adm/GetNodeStats",
|
|
355
356
|
};
|
|
356
357
|
|
|
357
358
|
var ADM_LOCALE = new core.InjectionToken('ADM_LOCALE');
|
|
358
359
|
var ADM_BACKEND_URL = new core.InjectionToken('ADM_BACKEND_URL');
|
|
359
|
-
var ADM_MODULE_PATH = new core.InjectionToken('ADM_MODULE_PATH');
|
|
360
|
+
var ADM_MODULE_PATH = new core.InjectionToken('ADM_MODULE_PATH');
|
|
361
|
+
var ADM_CONVERSATIONS = new core.InjectionToken('ADM_CONVERSATIONS');
|
|
360
362
|
|
|
361
363
|
var AdmAuditLoc = /** @class */ (function (_super) {
|
|
362
364
|
__extends(AdmAuditLoc, _super);
|
|
@@ -375,8 +377,10 @@
|
|
|
375
377
|
_super.prototype.set.call(_this, "en->it", "Object Data", ["Dati Oggetto"]);
|
|
376
378
|
_super.prototype.set.call(_this, "en->it", "Loading Application Audits", ["Carico gli Audit dell'Applicazione"]);
|
|
377
379
|
_super.prototype.set.call(_this, "en->it", "Date", ["Data"]);
|
|
380
|
+
_super.prototype.set.call(_this, "en->it", "Address", ["Indirizzo"]);
|
|
378
381
|
_super.prototype.set.call(_this, "en->it", "HTTP Response", ["Risposta HTTP"]);
|
|
379
382
|
_super.prototype.set.call(_this, "en->it", "Application Error Code", ["Codice Errore Applicativo"]);
|
|
383
|
+
_super.prototype.set.call(_this, "en->it", "Conversation ID", ["Cod. Conversation"]);
|
|
380
384
|
return _this;
|
|
381
385
|
}
|
|
382
386
|
return AdmAuditLoc;
|
|
@@ -389,7 +393,7 @@
|
|
|
389
393
|
]; };
|
|
390
394
|
|
|
391
395
|
var AdmAuditsComponent = /** @class */ (function () {
|
|
392
|
-
function AdmAuditsComponent(lc, intercom, localStorage, http, route, location, backend, mod) {
|
|
396
|
+
function AdmAuditsComponent(lc, intercom, localStorage, http, route, location, backend, mod, usesConversations) {
|
|
393
397
|
this.lc = lc;
|
|
394
398
|
this.intercom = intercom;
|
|
395
399
|
this.localStorage = localStorage;
|
|
@@ -398,6 +402,7 @@
|
|
|
398
402
|
this.location = location;
|
|
399
403
|
this.backend = backend;
|
|
400
404
|
this.mod = mod;
|
|
405
|
+
this.usesConversations = usesConversations;
|
|
401
406
|
this.searchView = new AuditsView();
|
|
402
407
|
this.Actions = [];
|
|
403
408
|
this.HttpMethods = [];
|
|
@@ -483,7 +488,7 @@
|
|
|
483
488
|
{ type: core.Component, args: [{
|
|
484
489
|
selector: "adm_audits",
|
|
485
490
|
viewProviders: [{ provide: localizations.LocalizationService, useClass: AdmAuditLoc }],
|
|
486
|
-
template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">{{'Search Application Audits' | localize : lc}}</span>\r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12 bottom-15\">\r\n <form role=\"form\">\r\n <div class=\"row\">\r\n <div class=\"col-md-11\">\r\n <div class=\"col-md-12 row app-no-padding app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterda\" name=\"filterda\" [Placeholder]=\"'From' | localize : lc\"></form-date>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filtera\" name=\"filtera\" [Placeholder]=\"'To' | localize : lc\"></form-date>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filteruser\" name=\"filteruser\" [Placeholder]=\"'User' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterroute\" name=\"filterroute\" [Placeholder]=\"'Route' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-select [FormLayout]=\"false\" [Validation]=\"false\" [SelectLabel]=\"'Action' | localize : lc\" [(ngModel)]=\"searchView.filteraction\" name=\"filteraction\" [Source]=\"Actions\"></form-select>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-select [FormLayout]=\"false\" [Validation]=\"false\" [SelectLabel]=\"'HTTP Method' | localize : lc\" [(ngModel)]=\"searchView.filterhttp\" name=\"filterhttp\" [Source]=\"HttpMethods\"></form-select>\r\n </div>\r\n
|
|
491
|
+
template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">{{'Search Application Audits' | localize : lc}}</span>\r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12 bottom-15\">\r\n <form role=\"form\">\r\n <div class=\"row\">\r\n <div class=\"col-md-11\">\r\n <div class=\"col-md-12 row app-no-padding app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterda\" name=\"filterda\" [Placeholder]=\"'From' | localize : lc\"></form-date>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filtera\" name=\"filtera\" [Placeholder]=\"'To' | localize : lc\"></form-date>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filteruser\" name=\"filteruser\" [Placeholder]=\"'User' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filteraddress\" name=\"filteraddress\" [Placeholder]=\"'Address' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterroute\" name=\"filterroute\" [Placeholder]=\"'Route' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-select [FormLayout]=\"false\" [Validation]=\"false\" [SelectLabel]=\"'Action' | localize : lc\" [(ngModel)]=\"searchView.filteraction\" name=\"filteraction\" [Source]=\"Actions\"></form-select>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 row app-no-padding\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-select [FormLayout]=\"false\" [Validation]=\"false\" [SelectLabel]=\"'HTTP Method' | localize : lc\" [(ngModel)]=\"searchView.filterhttp\" name=\"filterhttp\" [Source]=\"HttpMethods\"></form-select>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterargs\" name=\"filterargs\" [Placeholder]=\"'Arguments' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterobjid\" name=\"filterobjid\" [Placeholder]=\"'Object ID' | localize : lc\"></form-input>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterobjtype\" name=\"filterobjtype\" [Placeholder]=\"'Object Type' | localize : lc\"></form-input>\r\n </div>\r\n <!-- Per ora commentato -->\r\n <!-- <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\" *ngIf=\"usesConversations\">\r\n <form-input [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterconversationid\" name=\"filterconversationid\" [Placeholder]=\"'Conversation ID' | localize : lc\"></form-input>\r\n </div> -->\r\n </div>\r\n </div>\r\n <div class=\"col-md-1 app-no-padding\">\r\n <button [disabled]=\"searchInProgress\" class=\"input-group-addon btn app-btn-search\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p *ngIf=\"!searchView\"><em>{{'Loading Application Audits' | localize : lc}}...</em></p>\r\n <div *ngIf=\"searchView\">\r\n <es-table [(ngModel)]=\"searchView\" [MultipleOrderingDirectives]=\"true\" (onSearchRequest)=\"sendSearch($event);\">\r\n\r\n <span *th=\"'Timestamp'\">{{'Date' | localize : lc}}</span>\r\n <span *th=\"'User'\">{{'User' | localize : lc}}</span>\r\n <span *th=\"'RemoteAddress'\">{{'Address' | localize : lc}}</span>\r\n <span *th=\"'Action'\">{{'Action' | localize : lc}}</span>\r\n <span *th=\"'HttpMethod'\">{{'HTTP Method' | localize : lc}}</span>\r\n <span *th=\"'Route'\">{{'Route' | localize : lc}}</span>\r\n <span *th=\"'Args'\">{{'Arguments' | localize : lc}}</span>\r\n <span *th=\"'HttpResponse'\">{{'HTTP Response' | localize : lc}}</span>\r\n <span *th=\"'NonStdErrorMessage'\">{{'Application Error Code' | localize : lc}}</span>\r\n <span *th=\"'ConvId'; If: usesConversations\">{{'Conversation ID' | localize : lc}}</span>\r\n <span *th=\"'ObjectType'\">{{'Object Type' | localize : lc}}</span>\r\n <span *th=\"'ObjectId'\">{{'Object ID' | localize : lc}}</span>\r\n <span *th=\"'ObjectData'\">{{'Object Data' | localize : lc}}</span>\r\n\r\n <strong *td=\"'Timestamp'; let item\">{{item.timestamp | loc_date:'DD/MM/YYYY HH:mm:ss'}}</strong>\r\n <span *td=\"'User'; let item\">{{item.user}}</span>\r\n <span *td=\"'RemoteAddress'; let item\">{{item.address}}</span>\r\n <span *td=\"'Action'; let item\">{{item.action}}</span>\r\n <span *td=\"'HttpMethod'; let item\">{{item.httpmethod}}</span>\r\n <span *td=\"'Route'; let item\">{{item.route}}</span>\r\n <span *td=\"'Args'; let item\">{{item.args}}</span>\r\n <span *td=\"'HttpResponse'; let item\">{{item.httpresponse}}</span>\r\n <span *td=\"'NonStdErrorMessage'; let item\">{{item.mdmerrorcode}}</span>\r\n <span *td=\"'ConvId'; If: usesConversations; let item\">{{item.conversationid}}</span>\r\n <span *td=\"'ObjectType'; let item\">{{item.objecttype}}</span>\r\n <span *td=\"'ObjectId'; let item\">{{item.objectid}}</span>\r\n <span *td=\"'ObjectData'; let item\">{{item.objectdata}}</span>\r\n </es-table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>"
|
|
487
492
|
},] }
|
|
488
493
|
];
|
|
489
494
|
AdmAuditsComponent.ctorParameters = function () { return [
|
|
@@ -494,7 +499,8 @@
|
|
|
494
499
|
{ type: router.ActivatedRoute },
|
|
495
500
|
{ type: common.Location },
|
|
496
501
|
{ type: String, decorators: [{ type: core.Inject, args: [ADM_BACKEND_URL,] }] },
|
|
497
|
-
{ type: String, decorators: [{ type: core.Inject, args: [ADM_MODULE_PATH,] }] }
|
|
502
|
+
{ type: String, decorators: [{ type: core.Inject, args: [ADM_MODULE_PATH,] }] },
|
|
503
|
+
{ type: Boolean, decorators: [{ type: core.Inject, args: [ADM_CONVERSATIONS,] }] }
|
|
498
504
|
]; };
|
|
499
505
|
|
|
500
506
|
var ProcessesView = /** @class */ (function (_super) {
|
|
@@ -741,7 +747,9 @@
|
|
|
741
747
|
'Min. Time for Period': { 'en-US': "Min. Time for Period", 'it-IT': "Tempo Min Periodo" },
|
|
742
748
|
'Avg. Time for Period': { 'en-US': "Avg. Time for Period", 'it-IT': "Tempo Medio Periodo" },
|
|
743
749
|
'Specific Time for Period': { 'en-US': "Specific Time for Period", 'it-IT': "Tempo Specifico Periodo" },
|
|
744
|
-
'Percentage for Period': { 'en-US': "Percentage for Period", 'it-IT': "Percentuale Periodo" }
|
|
750
|
+
'Percentage for Period': { 'en-US': "Percentage for Period", 'it-IT': "Percentuale Periodo" },
|
|
751
|
+
'Event Type Name': { 'en-US': "Event Type Name", 'it-IT': "Nome Tipologia Evento" },
|
|
752
|
+
'Wait Class Name': { 'en-US': "Wait Class Name", 'it-IT': "Nome Classe Attesa" }
|
|
745
753
|
};
|
|
746
754
|
|
|
747
755
|
var ProfilerDataNode = /** @class */ (function () {
|
|
@@ -816,7 +824,15 @@
|
|
|
816
824
|
__decorate([
|
|
817
825
|
extensions.Export(170, ProfilerDataNode_loc["Percentage for Period"][Locale]),
|
|
818
826
|
cerialize.autoserialize
|
|
819
|
-
], ProfilerDataNode.prototype, "snappercentage", void 0);
|
|
827
|
+
], ProfilerDataNode.prototype, "snappercentage", void 0);
|
|
828
|
+
__decorate([
|
|
829
|
+
extensions.Export(180, ProfilerDataNode_loc["Event Type Name"][Locale]),
|
|
830
|
+
cerialize.autoserialize
|
|
831
|
+
], ProfilerDataNode.prototype, "eventtypename", void 0);
|
|
832
|
+
__decorate([
|
|
833
|
+
extensions.Export(190, ProfilerDataNode_loc["Wait Class Name"][Locale]),
|
|
834
|
+
cerialize.autoserialize
|
|
835
|
+
], ProfilerDataNode.prototype, "waitclassname", void 0);
|
|
820
836
|
|
|
821
837
|
var ProfilerDataNodesView = /** @class */ (function (_super) {
|
|
822
838
|
__extends(ProfilerDataNodesView, _super);
|
|
@@ -848,6 +864,8 @@
|
|
|
848
864
|
_super.prototype.set.call(_this, "en->it", "Avg. Time for Period", ["Tempo Medio Periodo"]);
|
|
849
865
|
_super.prototype.set.call(_this, "en->it", "Specific Time for Period", ["Tempo Specifico Periodo"]);
|
|
850
866
|
_super.prototype.set.call(_this, "en->it", "Percentage for Period", ["Percentuale Periodo"]);
|
|
867
|
+
_super.prototype.set.call(_this, "en->it", "Event Type Name", ["Nome Tipologia Evento"]);
|
|
868
|
+
_super.prototype.set.call(_this, "en->it", "Wait Class Name", ["Nome Classe Attesa"]);
|
|
851
869
|
return _this;
|
|
852
870
|
}
|
|
853
871
|
return AdmProfilerComponentLoc;
|
|
@@ -951,7 +969,7 @@
|
|
|
951
969
|
{ type: core.Component, args: [{
|
|
952
970
|
selector: "adm_profiler",
|
|
953
971
|
providers: [{ provide: localizations.LocalizationService, useClass: AdmProfilerComponentLoc }],
|
|
954
|
-
template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">{{'Server Profiler' | localize : lc}}</span> \r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12 bottom-15\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterfrom\" name=\"filterfrom\" [Placeholder]=\"'From' | localize : lc\"></form-date>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterto\" name=\"filterto\" [Placeholder]=\"'To' | localize : lc\"></form-date>\r\n </div>\r\n <button [disabled]=\"searchView.searchinprogress\" class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p *ngIf=\"!searchView\"><em>{{'Loading Data' | localize : lc}}</em></p>\r\n <div *ngIf=\"searchView\">\r\n <es-table [(ngModel)]=\"searchView\" [Hierarchy]=\"true\" [OrderByColumn]=\"false\" [ParentKey]=\"'parentid'\"\r\n [OwnKey]=\"'id'\" [StartsExpanded]=\"false\" [ExportFunction]=\"prepareExport.bind(this)\" [Export]=\"true\"\r\n [ExportFileName]=\"'Profiler Export.csv'\" [HidePaging]=\"true\" (onSearchRequest)=\"sendSearch($event);\">\r\n \r\n <span *th=\"'1'\">{{'ID' | localize : lc}}</span>\r\n <span *th=\"'2'\">{{'Description' | localize : lc}}</span>\r\n <span *th=\"'3'\">{{'Calls' | localize : lc}}</span>\r\n <span *th=\"'4'\">{{'Time' | localize : lc}}</span>\r\n <span *th=\"'5'\">{{'Peak Time' | localize : lc}}</span>\r\n <span *th=\"'6'\">{{'Min. Time' | localize : lc}}</span>\r\n <span *th=\"'7'\">{{'Avg. Time' | localize : lc}}</span>\r\n <span *th=\"'8'\">{{'Specific Time' | localize : lc}}</span>\r\n <span *th=\"'9'\">{{'Percentage' | localize : lc}}</span>\r\n <span *th=\"'10'\">{{'Calls for Period' | localize : lc}}</span>\r\n <span *th=\"'11'\">{{'Time for Period' | localize : lc}}</span>\r\n <span *th=\"'12'\">{{'Peak Time for Period' | localize : lc}}</span>\r\n <span *th=\"'13'\">{{'Min. Time for Period' | localize : lc}}</span>\r\n <span *th=\"'14'\">{{'Avg. Time for Period' | localize : lc}}</span>\r\n <span *th=\"'15'\">{{'Specific Time for Period' | localize : lc}}</span>\r\n <span *th=\"'16'\">{{'Percentage for Period' | localize : lc}}</span>\r\n\r\n <span *td=\"'1'; let item\">{{item.id}}</span>\r\n <span *td=\"'2'; let item\" title=\"{{item.description}}\">{{item.description.length <= 50 ? item.description : item.description.substr(0,50) + \"[...]\" }}</span>\r\n <span *td=\"'3'; let item\">{{item.calls}}</span>\r\n <span *td=\"'4'; let item\">{{item.time}}</span>\r\n <span *td=\"'5'; let item\">{{item.peaktime}}</span>\r\n <span *td=\"'6'; let item\">{{item.mintime}}</span>\r\n <span *td=\"'7'; let item\">{{item.avgtime}}</span>\r\n <span *td=\"'8'; let item\">{{item.timewithoutchildren}}</span>\r\n <span *td=\"'9'; let item\">{{item.percentage}}</span>\r\n <span *td=\"'10' let item\">{{item.snapdeltacalls}}</span>\r\n <span *td=\"'11' let item\">{{item.snapdeltatime}}</span>\r\n <span *td=\"'12' let item\">{{item.snappeaktime}}</span>\r\n <span *td=\"'13' let item\">{{item.snapmintime}}</span>\r\n <span *td=\"'14' let item\">{{item.snapavgtime}}</span>\r\n <span *td=\"'15' let item\">{{item.snaptimewithoutchildren}}</span>\r\n <span *td=\"'16' let item\">{{item.snappercentage}}</span>\r\n </es-table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>"
|
|
972
|
+
template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">{{'Server Profiler' | localize : lc}}</span> \r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12 bottom-15\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterfrom\" name=\"filterfrom\" [Placeholder]=\"'From' | localize : lc\"></form-date>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-date [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterto\" name=\"filterto\" [Placeholder]=\"'To' | localize : lc\"></form-date>\r\n </div>\r\n <button [disabled]=\"searchView.searchinprogress\" class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <p *ngIf=\"!searchView\"><em>{{'Loading Data' | localize : lc}}</em></p>\r\n <div *ngIf=\"searchView\">\r\n <es-table [(ngModel)]=\"searchView\" [Hierarchy]=\"true\" [OrderByColumn]=\"false\" [ParentKey]=\"'parentid'\"\r\n [OwnKey]=\"'id'\" [StartsExpanded]=\"false\" [ExportFunction]=\"prepareExport.bind(this)\" [Export]=\"true\"\r\n [ExportFileName]=\"'Profiler Export.csv'\" [HidePaging]=\"true\" (onSearchRequest)=\"sendSearch($event);\">\r\n \r\n <span *th=\"'1'\">{{'ID' | localize : lc}}</span>\r\n <span *th=\"'2'\">{{'Description' | localize : lc}}</span>\r\n <span *th=\"'3'\">{{'Calls' | localize : lc}}</span>\r\n <span *th=\"'4'\">{{'Time' | localize : lc}}</span>\r\n <span *th=\"'5'\">{{'Peak Time' | localize : lc}}</span>\r\n <span *th=\"'6'\">{{'Min. Time' | localize : lc}}</span>\r\n <span *th=\"'7'\">{{'Avg. Time' | localize : lc}}</span>\r\n <span *th=\"'8'\">{{'Specific Time' | localize : lc}}</span>\r\n <span *th=\"'9'\">{{'Percentage' | localize : lc}}</span>\r\n <span *th=\"'10'\">{{'Calls for Period' | localize : lc}}</span>\r\n <span *th=\"'11'\">{{'Time for Period' | localize : lc}}</span>\r\n <span *th=\"'12'\">{{'Peak Time for Period' | localize : lc}}</span>\r\n <span *th=\"'13'\">{{'Min. Time for Period' | localize : lc}}</span>\r\n <span *th=\"'14'\">{{'Avg. Time for Period' | localize : lc}}</span>\r\n <span *th=\"'15'\">{{'Specific Time for Period' | localize : lc}}</span>\r\n <span *th=\"'16'\">{{'Percentage for Period' | localize : lc}}</span>\r\n <span *th=\"'15'\">{{'Event Type Name' | localize : lc}}</span>\r\n <span *th=\"'16'\">{{'Wait Class Name' | localize : lc}}</span>\r\n\r\n <span *td=\"'1'; let item\">{{item.id}}</span>\r\n <span *td=\"'2'; let item\" title=\"{{item.description}}\">{{item.description.length <= 50 ? item.description : item.description.substr(0,50) + \"[...]\" }}</span>\r\n <span *td=\"'3'; let item\">{{item.calls}}</span>\r\n <span *td=\"'4'; let item\">{{item.time}}</span>\r\n <span *td=\"'5'; let item\">{{item.peaktime}}</span>\r\n <span *td=\"'6'; let item\">{{item.mintime}}</span>\r\n <span *td=\"'7'; let item\">{{item.avgtime}}</span>\r\n <span *td=\"'8'; let item\">{{item.timewithoutchildren}}</span>\r\n <span *td=\"'9'; let item\">{{item.percentage}}</span>\r\n <span *td=\"'10' let item\">{{item.snapdeltacalls}}</span>\r\n <span *td=\"'11' let item\">{{item.snapdeltatime}}</span>\r\n <span *td=\"'12' let item\">{{item.snappeaktime}}</span>\r\n <span *td=\"'13' let item\">{{item.snapmintime}}</span>\r\n <span *td=\"'14' let item\">{{item.snapavgtime}}</span>\r\n <span *td=\"'15' let item\">{{item.snaptimewithoutchildren}}</span>\r\n <span *td=\"'16' let item\">{{item.snappercentage}}</span>\r\n <span *td=\"'15' let item\">{{item.eventtypename}}</span>\r\n <span *td=\"'16' let item\">{{item.waitclassname}}</span>\r\n </es-table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>"
|
|
955
973
|
},] }
|
|
956
974
|
];
|
|
957
975
|
AdmProfilerComponent.ctorParameters = function () { return [
|
|
@@ -995,6 +1013,12 @@
|
|
|
995
1013
|
_super.prototype.set.call(_this, "en->it", "second/s", ["secondo/i"]);
|
|
996
1014
|
_super.prototype.set.call(_this, "en->it", "Maximum Threads", ["Thread Massimi"]);
|
|
997
1015
|
_super.prototype.set.call(_this, "en->it", "CPUs", ["CPU"]);
|
|
1016
|
+
_super.prototype.set.call(_this, "en->it", "Wait Class Name", ["Nome Classe Attesa"]);
|
|
1017
|
+
_super.prototype.set.call(_this, "en->it", "Activity Node Details", ["Dettaglio Attività Nodo"]);
|
|
1018
|
+
_super.prototype.set.call(_this, "en->it", "Event Type", ["Tipo Evento"]);
|
|
1019
|
+
_super.prototype.set.call(_this, "en->it", "Elapsed (With Children)", ["Tempo Trascorso (Con Figli)"]);
|
|
1020
|
+
_super.prototype.set.call(_this, "en->it", "Wait Class", ["Classe Attesa"]);
|
|
1021
|
+
_super.prototype.set.call(_this, "en->it", "Elapsed (No Children)", ["Tempo Trascorso (Non Figli)"]);
|
|
998
1022
|
return _this;
|
|
999
1023
|
}
|
|
1000
1024
|
return AdmTopActivitieLoc;
|
|
@@ -1070,7 +1094,7 @@
|
|
|
1070
1094
|
AdmTopActivitiesComponent.prototype.init = function (HotPotato) {
|
|
1071
1095
|
if (HotPotato) {
|
|
1072
1096
|
this.searchView = HotPotato;
|
|
1073
|
-
this.POSTGetItems(this.backend + Repository
|
|
1097
|
+
this.POSTGetItems(this.backend + Repository.POST_Adm_GetTopActivities, this.searchView, false);
|
|
1074
1098
|
}
|
|
1075
1099
|
else {
|
|
1076
1100
|
this.searchView = new TopActivitiesDataView();
|
|
@@ -1088,7 +1112,7 @@
|
|
|
1088
1112
|
this.searchView.searchinprogress = true;
|
|
1089
1113
|
if (resetPage)
|
|
1090
1114
|
this.searchView.page = 1;
|
|
1091
|
-
this.POSTGetItems(this.backend + Repository
|
|
1115
|
+
this.POSTGetItems(this.backend + Repository.POST_Adm_GetTopActivities, searchViewOverride !== null && searchViewOverride !== void 0 ? searchViewOverride : this.searchView, update);
|
|
1092
1116
|
};
|
|
1093
1117
|
AdmTopActivitiesComponent.prototype.POSTGetItems = function (url, data, update) {
|
|
1094
1118
|
var _this = this;
|
|
@@ -1113,7 +1137,30 @@
|
|
|
1113
1137
|
}); });
|
|
1114
1138
|
};
|
|
1115
1139
|
AdmTopActivitiesComponent.prototype.getDirectorInfos = function () {
|
|
1116
|
-
return this.http.get(this.backend + Repository
|
|
1140
|
+
return this.http.get(this.backend + Repository.GET_Adm_GetInfos).pipe(operators.map(function (res) { return res; })).toPromise();
|
|
1141
|
+
};
|
|
1142
|
+
AdmTopActivitiesComponent.prototype.loadNodeDetails = function (nodeId) {
|
|
1143
|
+
var _this = this;
|
|
1144
|
+
this.NodeDetails = null;
|
|
1145
|
+
var pars = new http.HttpParams().set('nodeId', nodeId);
|
|
1146
|
+
this.http.get(this.backend + Repository.GET_Adm_GetNodeStats, pars).subscribe(function (t) {
|
|
1147
|
+
_this.NodeDetails = t;
|
|
1148
|
+
_this.reviewNodeDetailsBindings();
|
|
1149
|
+
});
|
|
1150
|
+
};
|
|
1151
|
+
AdmTopActivitiesComponent.prototype.reviewNodeDetailsBindings = function () {
|
|
1152
|
+
var serie = new esCharts.LineSerie(this.lc.loc("Active Sessions"), this.NodeDetails.activesessions);
|
|
1153
|
+
this.NodeDetails.sessionchart = new esCharts.LineChartData([serie]);
|
|
1154
|
+
this.NodeDetails.loadchart = new esCharts.PieChartData([
|
|
1155
|
+
new esCharts.KeyValueColor("CPU", this.NodeDetails.cpuperc),
|
|
1156
|
+
new esCharts.KeyValueColor("Wait", this.NodeDetails.waitperc),
|
|
1157
|
+
new esCharts.KeyValueColor("DB", this.NodeDetails.dbperc),
|
|
1158
|
+
new esCharts.KeyValueColor("Script", this.NodeDetails.scriptperc),
|
|
1159
|
+
new esCharts.KeyValueColor("Throttle", this.NodeDetails.throttleperc),
|
|
1160
|
+
new esCharts.KeyValueColor("Sleep", this.NodeDetails.sleepperc),
|
|
1161
|
+
new esCharts.KeyValueColor("Networking", this.NodeDetails.networkperc),
|
|
1162
|
+
new esCharts.KeyValueColor("IO", this.NodeDetails.ioperc)
|
|
1163
|
+
]);
|
|
1117
1164
|
};
|
|
1118
1165
|
AdmTopActivitiesComponent.prototype.reviewBindings = function (update, searchViewOverride, dirInfos) {
|
|
1119
1166
|
var _this = this;
|
|
@@ -1193,7 +1240,7 @@
|
|
|
1193
1240
|
providers: [
|
|
1194
1241
|
{ provide: localizations.LocalizationService, useClass: AdmTopActivitieLoc }
|
|
1195
1242
|
],
|
|
1196
|
-
template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">\r\n {{'Top Activities' | localize : lc}}\r\n <span *ngIf=\"DirInfos\"> - {{'' + DirInfos.cpus + ' ' + ('CPUs' | localize : lc) + (DirInfos.rssplan ? ' - ' + DirInfos.rssplan : '')}}</span> \r\n </span>\r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12 app-relative\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-datetime [Readonly]=\"autoUpdate\" [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterfrom\" name=\"filterfrom\" [Placeholder]=\"'From' | localize : lc\"></form-datetime>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-datetime [Readonly]=\"autoUpdate\" [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterto\" name=\"filterto\" [Placeholder]=\"'To' | localize : lc\"></form-datetime>\r\n </div>\r\n <button [disabled]=\"searchView.searchinprogress || autoUpdate\" class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n\r\n <div class=\"app-absolute app-right-25 app-top-40\">\r\n <div class=\"pull-right\">\r\n {{'Update every' | localize : lc}} <input [readonly]=\"autoUpdate\" maxlength=\"3\" class=\"form-control app-updevery-input\" type=\"text\" [(ngModel)]=\"seconds\" name=\"secs\" /> {{'second/s' | localize : lc}}\r\n </div>\r\n <div class=\"pull-right m-t-2 app-margin-right-5\">\r\n <label class=\"switch\">\r\n <input type=\"checkbox\" [(ngModel)]=\"autoUpdate\" (ngModelChange)=\"autoUpdateChanged();\" />\r\n <div class=\"slider round\"></div>\r\n </label>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 app-margin-top-5\">\r\n <p *ngIf=\"!searchView\"><em>{{'Loading Data' | localize : lc}}</em></p>\r\n <div *ngIf=\"searchView\" class=\"row\">\r\n <div class=\"col-md-12 app-no-padding\">\r\n <!--<h5 class=\"app-margin-top-5\">{{'Active Sessions' | localize : lc}}</h5>-->\r\n <div style=\"width: 100%; height: 290px\">\r\n <es-line-chart *ngIf=\"TopActiveSessions\"\r\n [MinGridDistance]=\"65\"\r\n [Timeline]=\"false\"\r\n [FinalInstants]=\"false\"\r\n [LegendPadding]=\"{top: 0, bottom: 7, right: 0, left: 10}\"\r\n [Fill]=\"true\"\r\n [MergeDatasets]=\"true\"\r\n [Data]=\"TopActiveSessions\"\r\n [Legend]=\"true\" \r\n name=\"topactsession\"\r\n [DataGroupingThreshold]=\"99999999\"\r\n (onSelectionChanged)=\"dataSelectionChanged($event)\" (chartLoaded)=\"onChartLoaded($event)\"></es-line-chart>\r\n </div>\r\n </div>\r\n <div class=\"col-md-5\">\r\n <h5>{{'Top Nodes' | localize : lc}}</h5>\r\n <es-table [(ngModel)]=\"TopNodes\" [HidePaging]=\"true\">\r\n <ng-template #header>\r\n <th class=\"app-col-min\">{{'Node' | localize : lc}}</th>\r\n <th>{{'Node Description' | localize : lc}}</th>\r\n <th class=\"app-col-min\">{{'Activity' | localize : lc}}</th>\r\n <th class=\"app-col-min app-nowrap\">{{'Node Type' | localize : lc}}</th>\r\n </ng-template>\r\n <ng-template #body let-node>\r\n <td class=\"app-col-min\"><strong>{{node.profnodeid}}</strong></td>\r\n <td><span title=\"{{node.profnodedesc}}\">{{node.profnodedesc.length > 40 ? node.profnodedesc.substr(0,40) + \"...\" : node.profnodedesc}}</span></td>\r\n <td class=\"app-nowrap\">{{node.activity | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{node.nodetypename}}</td>\r\n </ng-template>\r\n </es-table>\r\n </div>\r\n <div class=\"col-md-7\">\r\n <h5>{{'Top Sessions' | localize : lc}}</h5>\r\n <es-table [(ngModel)]=\"TopSessions\" [HidePaging]=\"true\">\r\n <ng-template #header>\r\n <th class=\"app-col-min\">ID</th>\r\n <th>{{'User' | localize : lc}}</th>\r\n <th>{{'Tenant' | localize : lc}}</th>\r\n <th>{{'Process' | localize : lc}}</th>\r\n <th>{{'Activity' | localize : lc}}</th>\r\n <th>Cpu</th>\r\n <th>Wait</th>\r\n <th>DB</th>\r\n <th>Script</th>\r\n <th>Throttle</th>\r\n <th>Sleep</th>\r\n <th>Networking</th>\r\n <th>IO</th>\r\n </ng-template>\r\n\r\n <ng-template #body let-session>\r\n <td><strong>{{session.sid}}</strong></td>\r\n <td>{{session.user}}</td>\r\n <td>{{session.tenant}}</td>\r\n <td>{{session.bgprocess}}</td>\r\n <td>{{session.activity | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.cpu | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.wait | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.db | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.script | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.throttle | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.sleep | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.net | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.io | number : '1.1-2' : 'it'}} %</td>\r\n </ng-template>\r\n </es-table>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>"
|
|
1243
|
+
template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card app-overflow-visible\" widget>\r\n <div class=\"card-header\">\r\n <span class=\"text-uppercase\">\r\n {{'Top Activities' | localize : lc}}\r\n <span *ngIf=\"DirInfos\"> - {{'' + DirInfos.cpus + ' ' + ('CPUs' | localize : lc) + (DirInfos.rssplan ? ' - ' + DirInfos.rssplan : '')}}</span> \r\n </span>\r\n </div>\r\n <div class=\"card-body widget-body\">\r\n <div class=\"col-md-12 app-relative\">\r\n <form role=\"form\">\r\n <div class=\"row app-first-filter-line\">\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-datetime [Readonly]=\"autoUpdate\" [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterfrom\" name=\"filterfrom\" [Placeholder]=\"'From' | localize : lc\"></form-datetime>\r\n </div>\r\n <div class=\"col-xl-2 col-lg-2 col-md-12 app-filter-wrapper\">\r\n <form-datetime [Readonly]=\"autoUpdate\" [FormLayout]=\"false\" [Validation]=\"false\" [(ngModel)]=\"searchView.filterto\" name=\"filterto\" [Placeholder]=\"'To' | localize : lc\"></form-datetime>\r\n </div>\r\n <button [disabled]=\"searchView.searchinprogress || autoUpdate\" class=\"input-group-addon btn app-btn-search app-margin-top-20\" (click)=\"sendSearch()\" type=\"submit\"><i class=\"fa fa-search\"></i></button>\r\n\r\n <div class=\"app-absolute app-right-25 app-top-40\">\r\n <div class=\"pull-right\">\r\n {{'Update every' | localize : lc}} <input [readonly]=\"autoUpdate\" maxlength=\"3\" class=\"form-control app-updevery-input\" type=\"text\" [(ngModel)]=\"seconds\" name=\"secs\" /> {{'second/s' | localize : lc}}\r\n </div>\r\n <div class=\"pull-right m-t-2 app-margin-right-5\">\r\n <label class=\"switch\">\r\n <input type=\"checkbox\" [(ngModel)]=\"autoUpdate\" (ngModelChange)=\"autoUpdateChanged();\" />\r\n <div class=\"slider round\"></div>\r\n </label>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 app-margin-top-5\">\r\n <p *ngIf=\"!searchView\"><em>{{'Loading Data' | localize : lc}}</em></p>\r\n <div *ngIf=\"searchView\" class=\"row\">\r\n <div class=\"col-md-12 app-no-padding\">\r\n <div style=\"width: 100%; height: 290px\">\r\n <es-line-chart *ngIf=\"TopActiveSessions\"\r\n [MinGridDistance]=\"65\"\r\n [Timeline]=\"false\"\r\n [FinalInstants]=\"false\"\r\n [LegendPadding]=\"{top: 0, bottom: 7, right: 0, left: 10}\"\r\n [Fill]=\"true\"\r\n [MergeDatasets]=\"true\"\r\n [Data]=\"TopActiveSessions\"\r\n [Legend]=\"true\" \r\n name=\"topactsession\"\r\n [DataGroupingThreshold]=\"99999999\"\r\n (onSelectionChanged)=\"dataSelectionChanged($event)\" (chartLoaded)=\"onChartLoaded($event)\"></es-line-chart>\r\n </div>\r\n </div>\r\n <div class=\"col-md-5\">\r\n <h5>{{'Top Nodes' | localize : lc}}</h5>\r\n <es-table [(ngModel)]=\"TopNodes\" [HidePaging]=\"true\">\r\n <ng-template #header>\r\n <th class=\"app-col-min\">{{'Node' | localize : lc}}</th>\r\n <th>{{'Node Description' | localize : lc}}</th>\r\n <th class=\"app-col-min\">{{'Activity' | localize : lc}}</th>\r\n <th class=\"app-col-min app-nowrap\">{{'Node Type' | localize : lc}}</th>\r\n <th class=\"app-col-min app-nowrap\">{{'Wait Class Name' | localize : lc}}</th>\r\n </ng-template>\r\n <ng-template #body let-node>\r\n <td class=\"app-col-min\"><span class=\"app-lilnk\" (click)=\"loadNodeDetails(node.profnodeid); dlgNodeDetails.show();\">{{node.profnodeid}}</span></td>\r\n <td><span title=\"{{node.profnodedesc}}\">{{node.profnodedesc.length > 40 ? node.profnodedesc.substr(0,40) + \"...\" : node.profnodedesc}}</span></td>\r\n <td class=\"app-nowrap\">{{node.activity | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{node.nodetypename}}</td>\r\n <td>{{node.waitclassname}}</td>\r\n </ng-template>\r\n </es-table>\r\n </div>\r\n <div class=\"col-md-7\">\r\n <h5>{{'Top Sessions' | localize : lc}}</h5>\r\n <es-table [(ngModel)]=\"TopSessions\" [HidePaging]=\"true\">\r\n <ng-template #header>\r\n <th class=\"app-col-min\">ID</th>\r\n <th>{{'User' | localize : lc}}</th>\r\n <th>{{'Tenant' | localize : lc}}</th>\r\n <th>{{'Process' | localize : lc}}</th>\r\n <th>{{'Activity' | localize : lc}}</th>\r\n <th>Cpu</th>\r\n <th>Wait</th>\r\n <th>DB</th>\r\n <th>Script</th>\r\n <th>Throttle</th>\r\n <th>Sleep</th>\r\n <th>Networking</th>\r\n <th>IO</th>\r\n </ng-template>\r\n\r\n <ng-template #body let-session>\r\n <td><strong>{{session.sid}}</strong></td>\r\n <td>{{session.user}}</td>\r\n <td>{{session.tenant}}</td>\r\n <td>{{session.bgprocess}}</td>\r\n <td>{{session.activity | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.cpu | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.wait | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.db | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.script | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.throttle | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.sleep | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.net | number : '1.1-2' : 'it'}} %</td>\r\n <td>{{session.io | number : '1.1-2' : 'it'}} %</td>\r\n </ng-template>\r\n </es-table>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div bsModal #dlgNodeDetails=\"bs-modal\" class=\"modal fade\" role=\"dialog\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog modal-lg\" cdkDrag>\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\" cdkDragHandle>\r\n <h4 class=\"modal-title pull-left\">\r\n {{'Activity Node Details' | localize : lc}}\r\n <span *ngIf=\"NodeDetails\"> {{NodeDetails.nodeid}} - {{NodeDetails.nodedescription}}</span>\r\n </h4>\r\n <button type=\"button\" class=\"close pull-right\" (click)=\"dlgNodeDetails.hide()\" aria-label=\"Close\">\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body\" *ngIf=\"NodeDetails\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <strong>{{'Event Type' | localize: lc}}</strong>: {{NodeDetails.eventtypedesc}}\r\n </div>\r\n <div class=\"col-md-6\">\r\n <strong>{{'Elapsed (With Children)' | localize: lc}}</strong>: {{NodeDetails.elapsed}}\r\n </div>\r\n <div class=\"col-md-6\">\r\n <strong>{{'Wait Class' | localize: lc}}</strong>: {{NodeDetails.waitclassname}}\r\n </div>\r\n <div class=\"col-md-6\">\r\n <strong>{{'Elapsed (No Children)' | localize: lc}}</strong>: {{NodeDetails.elapsedlesschildren}}\r\n </div>\r\n </div>\r\n <div style=\"height: 200px;\">\r\n <es-line-chart *ngIf=\"NodeDetails.sessionchart\"\r\n [MinGridDistance]=\"65\"\r\n [Timeline]=\"false\"\r\n [FinalInstants]=\"false\"\r\n [LegendPadding]=\"{top: 0, bottom: 7, right: 0, left: 10}\"\r\n [Fill]=\"true\"\r\n [MergeDatasets]=\"true\"\r\n [Data]=\"NodeDetails.sessionchart\"\r\n [Legend]=\"true\" \r\n name=\"nodeDetailSessionChart\"\r\n [DataGroupingThreshold]=\"99999999\"></es-line-chart>\r\n </div>\r\n <div style=\"height: 200px;\">\r\n <es-pie-chart *ngIf=\"NodeDetails.loadchart\" [Data]=\"NodeDetails.loadchart\" name=\"nodeDetailLoadChart\"></es-pie-chart>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"dlgNodeDetails.hide()\">{{'Close' | localize : lc}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>"
|
|
1197
1244
|
},] }
|
|
1198
1245
|
];
|
|
1199
1246
|
AdmTopActivitiesComponent.ctorParameters = function () { return [
|
|
@@ -1614,10 +1661,9 @@
|
|
|
1614
1661
|
AdminModuleCommService.prototype.handleOutbound = function (type, message) {
|
|
1615
1662
|
switch (type) {
|
|
1616
1663
|
case exports.AdmMessageTypes.Message:
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
}
|
|
1664
|
+
if (myconfig.DEBUG_MODE)
|
|
1665
|
+
console.log("@admin-module outbound message: " + message);
|
|
1666
|
+
break;
|
|
1621
1667
|
}
|
|
1622
1668
|
};
|
|
1623
1669
|
return AdminModuleCommService;
|
|
@@ -1677,7 +1723,7 @@
|
|
|
1677
1723
|
AdmEnqComponent,
|
|
1678
1724
|
AdmMetricsComponent
|
|
1679
1725
|
];
|
|
1680
|
-
var ɵ7 = myconfig.LOCALE, ɵ8 = myconfig.BACKEND_URL;
|
|
1726
|
+
var ɵ7 = myconfig.LOCALE, ɵ8 = myconfig.BACKEND_URL, ɵ9 = !!myconfig.TRANSACTIONS_TIMEOUT_S;
|
|
1681
1727
|
var AdmModule = /** @class */ (function () {
|
|
1682
1728
|
function AdmModule(commService) {
|
|
1683
1729
|
this.commService = commService;
|
|
@@ -1694,6 +1740,7 @@
|
|
|
1694
1740
|
AdminModuleCommService,
|
|
1695
1741
|
{ provide: ADM_LOCALE, useValue: ɵ7 },
|
|
1696
1742
|
{ provide: ADM_BACKEND_URL, useValue: ɵ8 },
|
|
1743
|
+
{ provide: ADM_CONVERSATIONS, useValue: ɵ9 }
|
|
1697
1744
|
]
|
|
1698
1745
|
},] }
|
|
1699
1746
|
];
|
|
@@ -1706,6 +1753,7 @@
|
|
|
1706
1753
|
*/
|
|
1707
1754
|
|
|
1708
1755
|
exports.ADM_BACKEND_URL = ADM_BACKEND_URL;
|
|
1756
|
+
exports.ADM_CONVERSATIONS = ADM_CONVERSATIONS;
|
|
1709
1757
|
exports.ADM_LOCALE = ADM_LOCALE;
|
|
1710
1758
|
exports.ADM_MODULE_PATH = ADM_MODULE_PATH;
|
|
1711
1759
|
exports.AdmModule = AdmModule;
|
|
@@ -1720,6 +1768,7 @@
|
|
|
1720
1768
|
exports.ɵ6 = ɵ6;
|
|
1721
1769
|
exports.ɵ7 = ɵ7;
|
|
1722
1770
|
exports.ɵ8 = ɵ8;
|
|
1771
|
+
exports.ɵ9 = ɵ9;
|
|
1723
1772
|
exports.ɵa = AdmWrkComponent;
|
|
1724
1773
|
exports.ɵb = AdmWrkLoc;
|
|
1725
1774
|
exports.ɵc = AdmProfilerComponent;
|