@esfaenza/admin-module 11.2.5 → 11.2.9
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 +104 -11
- 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.d.ts +3 -1
- package/esfaenza-admin-module.metadata.json +1 -1
- package/esm2015/esfaenza-admin-module.js +4 -2
- package/esm2015/lib/admin-module.module.js +4 -2
- package/esm2015/lib/components/_shared/node_detail.component.js +45 -0
- package/esm2015/lib/components/_shared/node_detail.component.loc.js +15 -0
- package/esm2015/lib/components/audits/adm_audits.component.js +2 -2
- package/esm2015/lib/components/audits/adm_audits.component.loc.js +2 -1
- package/esm2015/lib/components/profiler/adm_profiler.component.js +10 -2
- package/esm2015/lib/components/profiler/adm_profiler.component.loc.js +3 -1
- package/esm2015/lib/components/topact/topact_search.component.js +14 -5
- 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/fesm2015/esfaenza-admin-module.js +99 -13
- package/fesm2015/esfaenza-admin-module.js.map +1 -1
- package/lib/components/_shared/node_detail.component.d.ts +11 -0
- package/lib/components/_shared/node_detail.component.loc.d.ts +4 -0
- package/lib/components/profiler/adm_profiler.component.d.ts +3 -0
- package/lib/components/topact/topact_search.component.d.ts +3 -0
- package/lib/models/components/Audit.d.ts +1 -0
- package/lib/models/components/AuditsView.d.ts +1 -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/package.json +1 -1
|
@@ -351,7 +351,8 @@
|
|
|
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');
|
|
@@ -376,6 +377,7 @@
|
|
|
376
377
|
_super.prototype.set.call(_this, "en->it", "Object Data", ["Dati Oggetto"]);
|
|
377
378
|
_super.prototype.set.call(_this, "en->it", "Loading Application Audits", ["Carico gli Audit dell'Applicazione"]);
|
|
378
379
|
_super.prototype.set.call(_this, "en->it", "Date", ["Data"]);
|
|
380
|
+
_super.prototype.set.call(_this, "en->it", "Address", ["Indirizzo"]);
|
|
379
381
|
_super.prototype.set.call(_this, "en->it", "HTTP Response", ["Risposta HTTP"]);
|
|
380
382
|
_super.prototype.set.call(_this, "en->it", "Application Error Code", ["Codice Errore Applicativo"]);
|
|
381
383
|
_super.prototype.set.call(_this, "en->it", "Conversation ID", ["Cod. Conversation"]);
|
|
@@ -486,7 +488,7 @@
|
|
|
486
488
|
{ type: core.Component, args: [{
|
|
487
489
|
selector: "adm_audits",
|
|
488
490
|
viewProviders: [{ provide: localizations.LocalizationService, useClass: AdmAuditLoc }],
|
|
489
|
-
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>"
|
|
490
492
|
},] }
|
|
491
493
|
];
|
|
492
494
|
AdmAuditsComponent.ctorParameters = function () { return [
|
|
@@ -745,7 +747,9 @@
|
|
|
745
747
|
'Min. Time for Period': { 'en-US': "Min. Time for Period", 'it-IT': "Tempo Min Periodo" },
|
|
746
748
|
'Avg. Time for Period': { 'en-US': "Avg. Time for Period", 'it-IT': "Tempo Medio Periodo" },
|
|
747
749
|
'Specific Time for Period': { 'en-US': "Specific Time for Period", 'it-IT': "Tempo Specifico Periodo" },
|
|
748
|
-
'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" }
|
|
749
753
|
};
|
|
750
754
|
|
|
751
755
|
var ProfilerDataNode = /** @class */ (function () {
|
|
@@ -820,7 +824,15 @@
|
|
|
820
824
|
__decorate([
|
|
821
825
|
extensions.Export(170, ProfilerDataNode_loc["Percentage for Period"][Locale]),
|
|
822
826
|
cerialize.autoserialize
|
|
823
|
-
], 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);
|
|
824
836
|
|
|
825
837
|
var ProfilerDataNodesView = /** @class */ (function (_super) {
|
|
826
838
|
__extends(ProfilerDataNodesView, _super);
|
|
@@ -852,6 +864,8 @@
|
|
|
852
864
|
_super.prototype.set.call(_this, "en->it", "Avg. Time for Period", ["Tempo Medio Periodo"]);
|
|
853
865
|
_super.prototype.set.call(_this, "en->it", "Specific Time for Period", ["Tempo Specifico Periodo"]);
|
|
854
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"]);
|
|
855
869
|
return _this;
|
|
856
870
|
}
|
|
857
871
|
return AdmProfilerComponentLoc;
|
|
@@ -949,13 +963,21 @@
|
|
|
949
963
|
dataCallBack(items);
|
|
950
964
|
});
|
|
951
965
|
};
|
|
966
|
+
AdmProfilerComponent.prototype.loadNodeDetails = function (nodeId) {
|
|
967
|
+
var _this = this;
|
|
968
|
+
this.NodeDetails = null;
|
|
969
|
+
var pars = new http.HttpParams().set('nodeId', nodeId);
|
|
970
|
+
this.http.get(this.backend + Repository.GET_Adm_GetNodeStats, pars).subscribe(function (t) {
|
|
971
|
+
_this.NodeDetails = t;
|
|
972
|
+
});
|
|
973
|
+
};
|
|
952
974
|
return AdmProfilerComponent;
|
|
953
975
|
}());
|
|
954
976
|
AdmProfilerComponent.decorators = [
|
|
955
977
|
{ type: core.Component, args: [{
|
|
956
978
|
selector: "adm_profiler",
|
|
957
979
|
providers: [{ provide: localizations.LocalizationService, useClass: AdmProfilerComponentLoc }],
|
|
958
|
-
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>"
|
|
980
|
+
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=\"'17'\">{{'Event Type Name' | localize : lc}}</span>\r\n <span *th=\"'18'\">{{'Wait Class Name' | localize : lc}}</span>\r\n\r\n <span *td=\"'1'; let item\"><span class=\"app-link\" (click)=\"loadNodeDetails(item.id); dlgNodeDetails.show();\"></span>{{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=\"'17' let item\">{{item.eventtypename}}</span>\r\n <span *td=\"'18' 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>\r\n\r\n<div bsModal #dlgNodeDetails=\"bs-modal\" class=\"modal fade\" role=\"dialog\" aria-hidden=\"true\">\r\n <node-detail *ngIf=\"NodeDetails\" [NodeDetails]=\"NodeDetails\" (onClose)=\"dlgNodeDetails.hide()\"></node-detail>\r\n</div>"
|
|
959
981
|
},] }
|
|
960
982
|
];
|
|
961
983
|
AdmProfilerComponent.ctorParameters = function () { return [
|
|
@@ -999,6 +1021,12 @@
|
|
|
999
1021
|
_super.prototype.set.call(_this, "en->it", "second/s", ["secondo/i"]);
|
|
1000
1022
|
_super.prototype.set.call(_this, "en->it", "Maximum Threads", ["Thread Massimi"]);
|
|
1001
1023
|
_super.prototype.set.call(_this, "en->it", "CPUs", ["CPU"]);
|
|
1024
|
+
_super.prototype.set.call(_this, "en->it", "Wait Class Name", ["Nome Classe Attesa"]);
|
|
1025
|
+
_super.prototype.set.call(_this, "en->it", "Activity Node Details", ["Dettaglio Attività Nodo"]);
|
|
1026
|
+
_super.prototype.set.call(_this, "en->it", "Event Type", ["Tipo Evento"]);
|
|
1027
|
+
_super.prototype.set.call(_this, "en->it", "Elapsed (With Children)", ["Tempo Trascorso (Con Figli)"]);
|
|
1028
|
+
_super.prototype.set.call(_this, "en->it", "Wait Class", ["Classe Attesa"]);
|
|
1029
|
+
_super.prototype.set.call(_this, "en->it", "Elapsed (No Children)", ["Tempo Trascorso (Non Figli)"]);
|
|
1002
1030
|
return _this;
|
|
1003
1031
|
}
|
|
1004
1032
|
return AdmTopActivitieLoc;
|
|
@@ -1074,7 +1102,7 @@
|
|
|
1074
1102
|
AdmTopActivitiesComponent.prototype.init = function (HotPotato) {
|
|
1075
1103
|
if (HotPotato) {
|
|
1076
1104
|
this.searchView = HotPotato;
|
|
1077
|
-
this.POSTGetItems(this.backend + Repository
|
|
1105
|
+
this.POSTGetItems(this.backend + Repository.POST_Adm_GetTopActivities, this.searchView, false);
|
|
1078
1106
|
}
|
|
1079
1107
|
else {
|
|
1080
1108
|
this.searchView = new TopActivitiesDataView();
|
|
@@ -1092,7 +1120,7 @@
|
|
|
1092
1120
|
this.searchView.searchinprogress = true;
|
|
1093
1121
|
if (resetPage)
|
|
1094
1122
|
this.searchView.page = 1;
|
|
1095
|
-
this.POSTGetItems(this.backend + Repository
|
|
1123
|
+
this.POSTGetItems(this.backend + Repository.POST_Adm_GetTopActivities, searchViewOverride !== null && searchViewOverride !== void 0 ? searchViewOverride : this.searchView, update);
|
|
1096
1124
|
};
|
|
1097
1125
|
AdmTopActivitiesComponent.prototype.POSTGetItems = function (url, data, update) {
|
|
1098
1126
|
var _this = this;
|
|
@@ -1117,7 +1145,15 @@
|
|
|
1117
1145
|
}); });
|
|
1118
1146
|
};
|
|
1119
1147
|
AdmTopActivitiesComponent.prototype.getDirectorInfos = function () {
|
|
1120
|
-
return this.http.get(this.backend + Repository
|
|
1148
|
+
return this.http.get(this.backend + Repository.GET_Adm_GetInfos).pipe(operators.map(function (res) { return res; })).toPromise();
|
|
1149
|
+
};
|
|
1150
|
+
AdmTopActivitiesComponent.prototype.loadNodeDetails = function (nodeId) {
|
|
1151
|
+
var _this = this;
|
|
1152
|
+
this.NodeDetails = null;
|
|
1153
|
+
var pars = new http.HttpParams().set('nodeId', nodeId);
|
|
1154
|
+
this.http.get(this.backend + Repository.GET_Adm_GetNodeStats, pars).subscribe(function (t) {
|
|
1155
|
+
_this.NodeDetails = t;
|
|
1156
|
+
});
|
|
1121
1157
|
};
|
|
1122
1158
|
AdmTopActivitiesComponent.prototype.reviewBindings = function (update, searchViewOverride, dirInfos) {
|
|
1123
1159
|
var _this = this;
|
|
@@ -1197,7 +1233,7 @@
|
|
|
1197
1233
|
providers: [
|
|
1198
1234
|
{ provide: localizations.LocalizationService, useClass: AdmTopActivitieLoc }
|
|
1199
1235
|
],
|
|
1200
|
-
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
|
|
1236
|
+
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-link\" (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 <node-detail *ngIf=\"NodeDetails\" [NodeDetails]=\"NodeDetails\" (onClose)=\"dlgNodeDetails.hide()\"></node-detail>\r\n</div>"
|
|
1201
1237
|
},] }
|
|
1202
1238
|
];
|
|
1203
1239
|
AdmTopActivitiesComponent.ctorParameters = function () { return [
|
|
@@ -1599,6 +1635,60 @@
|
|
|
1599
1635
|
{ type: String, decorators: [{ type: core.Inject, args: [ADM_BACKEND_URL,] }] }
|
|
1600
1636
|
]; };
|
|
1601
1637
|
|
|
1638
|
+
var NodeDetailLoc = /** @class */ (function (_super) {
|
|
1639
|
+
__extends(NodeDetailLoc, _super);
|
|
1640
|
+
function NodeDetailLoc(LOC_LOCALE) {
|
|
1641
|
+
return _super.call(this, LOC_LOCALE) || this;
|
|
1642
|
+
}
|
|
1643
|
+
return NodeDetailLoc;
|
|
1644
|
+
}(localizations.LocalizationService));
|
|
1645
|
+
NodeDetailLoc.decorators = [
|
|
1646
|
+
{ type: core.Injectable }
|
|
1647
|
+
];
|
|
1648
|
+
NodeDetailLoc.ctorParameters = function () { return [
|
|
1649
|
+
{ type: String, decorators: [{ type: core.Inject, args: [ADM_LOCALE,] }] }
|
|
1650
|
+
]; };
|
|
1651
|
+
|
|
1652
|
+
// Angular
|
|
1653
|
+
var NodeDetailComponent = /** @class */ (function () {
|
|
1654
|
+
function NodeDetailComponent(lc) {
|
|
1655
|
+
this.lc = lc;
|
|
1656
|
+
this.onClose = new core.EventEmitter();
|
|
1657
|
+
}
|
|
1658
|
+
NodeDetailComponent.prototype.ngOnInit = function () {
|
|
1659
|
+
var serie = new esCharts.LineSerie(this.lc.loc("Active Sessions"), this.NodeDetails.activesessions);
|
|
1660
|
+
this.NodeDetails.sessionchart = new esCharts.LineChartData([serie]);
|
|
1661
|
+
this.NodeDetails.loadchart = new esCharts.PieChartData([
|
|
1662
|
+
new esCharts.KeyValueColor("CPU", this.NodeDetails.cpuperc),
|
|
1663
|
+
new esCharts.KeyValueColor("Wait", this.NodeDetails.waitperc),
|
|
1664
|
+
new esCharts.KeyValueColor("DB", this.NodeDetails.dbperc),
|
|
1665
|
+
new esCharts.KeyValueColor("Script", this.NodeDetails.scriptperc),
|
|
1666
|
+
new esCharts.KeyValueColor("Throttle", this.NodeDetails.throttleperc),
|
|
1667
|
+
new esCharts.KeyValueColor("Sleep", this.NodeDetails.sleepperc),
|
|
1668
|
+
new esCharts.KeyValueColor("Networking", this.NodeDetails.networkperc),
|
|
1669
|
+
new esCharts.KeyValueColor("IO", this.NodeDetails.ioperc)
|
|
1670
|
+
]);
|
|
1671
|
+
};
|
|
1672
|
+
NodeDetailComponent.prototype.closeDialog = function () {
|
|
1673
|
+
this.onClose.emit(true);
|
|
1674
|
+
};
|
|
1675
|
+
return NodeDetailComponent;
|
|
1676
|
+
}());
|
|
1677
|
+
NodeDetailComponent.decorators = [
|
|
1678
|
+
{ type: core.Component, args: [{
|
|
1679
|
+
selector: "node-detail",
|
|
1680
|
+
viewProviders: [{ provide: localizations.LocalizationService, useClass: NodeDetailLoc }],
|
|
1681
|
+
template: "<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)=\"closeDialog()\" 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)=\"closeDialog()\">{{'Close' | localize : lc}}</button>\r\n </div>\r\n </div>\r\n</div>"
|
|
1682
|
+
},] }
|
|
1683
|
+
];
|
|
1684
|
+
NodeDetailComponent.ctorParameters = function () { return [
|
|
1685
|
+
{ type: localizations.LocalizationService }
|
|
1686
|
+
]; };
|
|
1687
|
+
NodeDetailComponent.propDecorators = {
|
|
1688
|
+
NodeDetails: [{ type: core.Input }],
|
|
1689
|
+
onClose: [{ type: core.Output }]
|
|
1690
|
+
};
|
|
1691
|
+
|
|
1602
1692
|
/** Chiave di questo modulo, da utilizzare per i messaggi */
|
|
1603
1693
|
var MK_ADM = "EsAdminModule";
|
|
1604
1694
|
(function (AdmMessageTypes) {
|
|
@@ -1678,7 +1768,8 @@
|
|
|
1678
1768
|
AdmLogsComponent,
|
|
1679
1769
|
AdmAuditsComponent,
|
|
1680
1770
|
AdmEnqComponent,
|
|
1681
|
-
AdmMetricsComponent
|
|
1771
|
+
AdmMetricsComponent,
|
|
1772
|
+
NodeDetailComponent
|
|
1682
1773
|
];
|
|
1683
1774
|
var ɵ7 = myconfig.LOCALE, ɵ8 = myconfig.BACKEND_URL, ɵ9 = !!myconfig.TRANSACTIONS_TIMEOUT_S;
|
|
1684
1775
|
var AdmModule = /** @class */ (function () {
|
|
@@ -1740,7 +1831,9 @@
|
|
|
1740
1831
|
exports.ɵl = AdmAuditLoc;
|
|
1741
1832
|
exports.ɵm = AdmEnqComponent;
|
|
1742
1833
|
exports.ɵn = AdmEnqLoc;
|
|
1743
|
-
exports.ɵo =
|
|
1834
|
+
exports.ɵo = NodeDetailComponent;
|
|
1835
|
+
exports.ɵp = NodeDetailLoc;
|
|
1836
|
+
exports.ɵq = AdminModuleCommService;
|
|
1744
1837
|
|
|
1745
1838
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
1746
1839
|
|