@esfaenza/admin-module 11.2.38 → 11.2.40

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/admin-module/src/lib/models/components/AuditsView.ts","../../../projects/admin-module/src/lib/models/externals/Repository.ts","../../../projects/admin-module/src/lib/tokens.ts","../../../projects/admin-module/src/lib/components/audits/adm_audits.component.loc.ts","../../../projects/admin-module/src/lib/components/audits/adm_audits.component.ts","../../../projects/admin-module/src/lib/models/shared/KeyValue.ts","../../../projects/admin-module/src/lib/models/components/ProcessesView.ts","../../../projects/admin-module/src/lib/components/workers/adm_wrk.component.loc.ts","../../../projects/admin-module/src/lib/components/workers/adm_wrk.component.ts","../../../projects/admin-module/src/lib/models/shared/Locale.ts","../../../projects/admin-module/src/lib/models/components/ProfilerDataNode.loc.ts","../../../projects/admin-module/src/lib/models/components/ProfilerDataNode.ts","../../../projects/admin-module/src/lib/models/components/ProfilerDataNodesView.ts","../../../projects/admin-module/src/lib/components/profiler/adm_profiler.component.loc.ts","../../../projects/admin-module/src/lib/components/profiler/adm_profiler.component.ts","../../../projects/admin-module/src/lib/models/components/TopActivitiesDataView.ts","../../../projects/admin-module/src/lib/components/topact/topact_search.component.loc.ts","../../../projects/admin-module/src/lib/components/topact/topact_search.component.ts","../../../projects/admin-module/src/lib/models/components/LocksView.ts","../../../projects/admin-module/src/lib/components/enqueues/adm_enq.component.loc.ts","../../../projects/admin-module/src/lib/components/enqueues/adm_enq.component.ts","../../../projects/admin-module/src/lib/models/components/MetricsView.ts","../../../projects/admin-module/src/lib/components/metrics/metrics_search.component.loc.ts","../../../projects/admin-module/src/lib/components/metrics/metrics_search.component.ts","../../../projects/admin-module/src/lib/components/logs/adm_logs.component.loc.ts","../../../projects/admin-module/src/lib/components/logs/adm_logs.component.ts","../../../projects/admin-module/src/lib/components/_shared/node_detail.component.loc.ts","../../../projects/admin-module/src/lib/components/_shared/node_detail.component.ts","../../../projects/admin-module/src/lib/models/components/DynamicViewsView.ts","../../../projects/admin-module/src/lib/components/dynamic_views/adm_dynamic_views.component.loc.ts","../../../projects/admin-module/src/lib/components/dynamic_views/adm_dynamic_views.component.ts","../../../projects/admin-module/src/lib/pipes/format_time.pipe.ts","../../../projects/admin-module/src/lib/admin-module-messages.ts","../../../projects/admin-module/src/lib/admin-module.comms.service.ts","../../../projects/admin-module/src/lib/admin-module.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","n","v","op","pop","push","__read","o","m","ar","error","__spread","concat","AuditsView","_super","_this","filteraction","filterhttp","AppSearch","Repository","ADM_LOCALE","InjectionToken","ADM_BACKEND_URL","ADM_MODULE_PATH","ADM_CONVERSATIONS","AdmAuditLoc","LOC_LOCALE","set","LocalizationService","Injectable","Inject","args","AdmAuditsComponent","lc","intercom","localStorage","http","route","location","backend","mod","usesConversations","searchView","Actions","HttpMethods","searchInProgress","send","InboundMessageTypes","Navigation","sub","routeTitle","loc","snapshot","data","id","description","ngOnInit","storageSub","queryParams","subscribe","params","Init","ngOnDestroy","unsubscribe","ignoreStorage","getItem","toPromise","item","_a","init","replaceState","removeItem","HotPotato","POSTGetProcesses","filterda","dayjs","add","format","token","filtera","sendSearch","resetPage","page","url","post","setItem","Component","selector","viewProviders","provide","useClass","template","InterComService","PreferencesService","HTTPService","ActivatedRoute","Location","KeyValue","ProcessesView","AdmWrkLoc","AdmWrkComponent","utiExts","msgExts","DynamicOps","valueToShow","Types","States","ThreadTypes","ThreadStatuses","newCg","CGs","CgDictionariesLoaded","EsTableOperationDefinition","map","doInit","searchinprogress","back","onOperation","event","toggleTracing","killProcess","changeProcessCg","process","tracing","pars","HttpParams","properties","toString","get","manageStringResponse","simpleWarningWithChoice","ProcessOnEdit","loadCgDictionaries","setupChangeCg","dlgChangeCg","show","cleanForm","cgFrom","setTimeout","doChangeCg","UtilityService","MessageService","ViewChild","Locale","myconfig","LOCALE","ProfilerDataNode_loc","Parent ID","en-US","it-IT","ID","Description","Calls","Time","Peak Time","Min. Time","Avg. Time","Specific Time","Percentage","Calls for Period","Time for Period","Peak Time for Period","Min. Time for Period","Avg. Time for Period","Specific Time for Period","Percentage for Period","Event Type Name","Wait Class Name","ProfilerDataNode","Export","autoserialize","ProfilerDataNodesView","AdmProfilerComponentLoc","AdmProfilerComponent","expExts","ignoreStore","POSTGetItems","prepareExport","dataCallBack","view","JSON","parse","stringify","itemsperpageoverride","items","deserializeForExport","loadNodeDetails","nodeId","NodeDetails","providers","ExportService","TopActivitiesDataView","AdmTopActivitieLoc","AdmTopActivitiesComponent","dateExts","autoUpdate","seconds","rtWindow","destroyed$","ReplaySubject","seriesPropertiesMapping","propertiesSeriesMapping","seriesPropertiesMapping2","interval","pipe","takeUntil","updateRealTimeWindow","reference","actsessions","itemref","theD","getDateConvertion","sampletime","isBefore","from","isAfter","to","complete","update","searchViewOverride","sv","filterfrom","filterto","dateRequestOnRealtimeWindow","filterrealtime","getDirectorInfos","dirinfos","reviewBindings","res","dirInfos","TopNodes","topnodes","TopSessions","topsessions","DirInfos","series","props","keys","s","LineSerie","Date","i_1","LastDataPoint","values","DateValue","ChartInstance","LineChartData","Limit","threads","some","addData","max","TopActiveSessions","autoUpdateChanged","test","secondsInMs","parseInt","updateTimer","setInterval","clearInterval","dataSelectionChanged","initial","toDate","pseudoSearchView","onChartLoaded","chart","overwriteInstance","Chart","events","on","xAxes","each","x","zoom","start","end","yAxes","loadSessionDetails","sessionId","serialNo","SessionDetails","threadSelectionChanged","selection","SelectedTopNodes","SelectedSessions","requestAnimationFrame","sessDet","count","nodes","sessions","i_2","DateService","LocksView","AdmEnqLoc","AdmEnqComponent","locksView","MetricsView","AdmMetricsLoc","AdmMetricsComponent","MetricsChartCache","Instances","selectedInstance","instanceRequired","metricsToShow","dateChanged","Metrics","filtermetrics","forEach","refm","metricKey","filter","lastTs","instance","find","instanceSelected","allowNull","linkChartToMetric","metric","metricChart","chartComp","name","xtitle","AdmLogsLoc","AdmLogsComponent","Log","NodeDetailLoc","NodeDetailComponent","onClose","EventEmitter","serie","activesessions","sessionchart","loadchart","PieChartData","KeyValueColor","cpuperc","waitperc","dbperc","scriptperc","throttleperc","sleepperc","networkperc","ioperc","closeDialog","emit","Input","Output","DynamicViewsView","AdmDynamicViewsLoc","AdmDynamicViewsComponent","Names","badSearch","currentName","filterName","filtername","reset","FormatTimePipe","transform","secondsToHms","Number","h","Math","floor","Pipe","AdmMessageTypes","MK_ADM","AdminModuleCommService","register","outbounds","handleOutbound","type","message","Message","DEBUG_MODE","console","log","title","internalNavigation","ɵ1","ɵ2","ɵ3","ɵ4","ɵ5","ɵ6","ɵ7","routeConfig","path","children","component","ɵ0","MODULES","CommonModule","FormsModule","MatDatepickerModule","MatDayjsDateModule","MatIconModule","MatInputModule","ModalModule","TooltipModule","BsDropdownModule","CsvModule","ContextMenuModule","LocalizationModule","EsTableModule","FormsAndValidationsModule","EsGertrudeModule","EsChartsModule","NgxMatDatetimePickerModule","RouterModule","forChild","COMPONENTS","PIPES","ɵ9","BACKEND_URL","ɵ10","TRANSACTIONS_TIMEOUT_S","commService","NgModule","imports","declarations","useValue","ɵ8"],"mappings":"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","sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { AppSearch } from \"@esfaenza/es-table\";\r\nimport { Audit } from \"./Audit\";\r\n\r\nexport class AuditsView extends AppSearch<Audit> {\r\n constructor() {\r\n super();\r\n this.filteraction = '';\r\n this.filterhttp = '';\r\n }\r\n\r\n filterda: string;\r\n filtera: string;\r\n filteruser: string;\r\n filterroute: string;\r\n filteraction: string;\r\n filteraddress: string;\r\n filterhttp: string;\r\n filterargs: string;\r\n filterobjid: string;\r\n filterobjtype: string;\r\n filterconversationid: string;\r\n}","export const Repository = {\r\n GET_Adm_ChangeProcessConsumerGroup: \"/api/Adm/ChangeProcessConsumerGroup\",\r\n GET_Adm_ClearAllCaches: \"/api/Adm/ClearAllCaches\",\r\n GET_Adm_GetConsumerGroups: \"/api/Adm/GetConsumerGroups#cache\",\r\n GET_Adm_GetInfos: \"/api/Adm/GetInfos\",\r\n GET_Adm_GetMetrics: \"/api/Adm/GetMetrics\",\r\n POST_Adm_GetMetrics: \"/api/Adm/GetMetrics\",\r\n POST_Adm_GetProfilerDataNodes: \"/api/Adm/GetProfilerDataNodes\",\r\n POST_Adm_GetServerAudits: \"/api/Adm/GetServerAudits\",\r\n POST_Adm_GetDynamicViewData: \"/api/Adm/GetDynamicViewData\",\r\n POST_Adm_GetServerLocks: \"/api/Adm/GetServerLocks\",\r\n GET_Adm_GetServerLogs: \"/api/Adm/GetServerLogs\",\r\n GET_Adm_GetDynamicViews: \"/api/Adm/GetDynamicViews\",\r\n POST_Adm_GetServerWorkers: \"/api/Adm/GetServerWorkers\",\r\n POST_Adm_GetTopActivities: \"/api/Adm/GetTopActivities\",\r\n GET_Adm_GetWorkerStatus: \"/api/Adm/GetWorkerStatus\",\r\n GET_Adm_InvalidateServerSideCache: \"/api/Adm/InvalidateServerSideCache\",\r\n GET_Adm_KillProcess: \"/api/Adm/KillProcess\",\r\n GET_Adm_SetProcessTracing: \"/api/Adm/SetProcessTracing\",\r\n GET_Adm_StartWorker: \"/api/Adm/StartWorker\",\r\n GET_Adm_StopWorker: \"/api/Adm/StopWorker\",\r\n GET_Adm_GetNodeStats: \"/api/Adm/GetNodeStats\",\r\n GET_Adm_GetSessionStats: \"/api/Adm/GetSessionStats\",\r\n}","import { InjectionToken } from \"@angular/core\";\r\n\r\nexport const ADM_LOCALE: InjectionToken<string> = new InjectionToken<string>('ADM_LOCALE');\r\nexport const ADM_BACKEND_URL: InjectionToken<string> = new InjectionToken<string>('ADM_BACKEND_URL');\r\nexport const ADM_MODULE_PATH: InjectionToken<string> = new InjectionToken<string>('ADM_MODULE_PATH');\r\nexport const ADM_CONVERSATIONS: InjectionToken<boolean> = new InjectionToken<boolean>('ADM_CONVERSATIONS');","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\nimport { ADM_LOCALE } from \"../../tokens\";\r\n\r\n@Injectable()\r\nexport class AdmAuditLoc extends LocalizationService {\r\n constructor(@Inject(ADM_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n\r\n super.set(\"en->it\", \"Search Application Audits\", [\"Ricerca Audit Applicativi\"]);\r\n super.set(\"en->it\", \"User\", [\"Utente\"]);\r\n super.set(\"en->it\", \"REST Call\", [\"Chiamata REST\"]);\r\n super.set(\"en->it\", \"Update\", [\"Aggiornamento\"]);\r\n super.set(\"en->it\", \"Route\", [\"Route\"]);\r\n super.set(\"en->it\", \"Action\", [\"Azione\"]);\r\n super.set(\"en->it\", \"HTTP Method\", [\"Metodo HTTP\"]);\r\n super.set(\"en->it\", \"Arguments\", [\"Argomenti\"]);\r\n super.set(\"en->it\", \"Object ID\", [\"ID Oggetto\"]);\r\n super.set(\"en->it\", \"Object Type\", [\"Tipo Oggetto\"]);\r\n super.set(\"en->it\", \"Object Data\", [\"Dati Oggetto\"]);\r\n super.set(\"en->it\", \"Loading Application Audits\", [\"Carico gli Audit dell'Applicazione\"]);\r\n super.set(\"en->it\", \"Date\", [\"Data\"]);\r\n super.set(\"en->it\", \"Address\", [\"Indirizzo\"]);\r\n super.set(\"en->it\", \"HTTP Response\", [\"Risposta HTTP\"]);\r\n super.set(\"en->it\", \"Application Error Code\", [\"Codice Errore Applicativo\"]);\r\n super.set(\"en->it\", \"Conversation ID\", [\"Cod. Conversation\"]);\r\n }\r\n}","// Angular\r\nimport { Component, Inject } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\n\r\n// Configurazioni\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { PreferencesService } from \"@esfaenza/preferences\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\nimport { InterComService, InboundMessageTypes } from \"@esfaenza/extensions\";\r\n\r\n// Applicazione\r\nimport { AuditsView } from \"../../models/components/AuditsView\";\r\nimport { KeyValue } from \"../../models/shared/KeyValue\";\r\nimport { Repository } from \"../../models/externals/Repository\";\r\nimport { ADM_BACKEND_URL, ADM_MODULE_PATH, ADM_CONVERSATIONS } from \"../../tokens\";\r\n\r\n// Localizzazione\r\nimport { AdmAuditLoc } from \"./adm_audits.component.loc\";\r\n\r\n@Component({\r\n selector: \"adm_audits\",\r\n viewProviders: [{ provide: LocalizationService, useClass: AdmAuditLoc }],\r\n templateUrl: \"./adm_audits.component.html\"\r\n})\r\nexport class AdmAuditsComponent {\r\n\r\n public searchView: AuditsView = new AuditsView();\r\n public Actions: KeyValue[] = [];\r\n public HttpMethods: KeyValue[] = [];\r\n public searchInProgress: boolean = false;\r\n public storageSub: any;\r\n\r\n constructor(\r\n public lc: LocalizationService,\r\n private intercom: InterComService,\r\n private localStorage: PreferencesService,\r\n private http: HTTPService,\r\n private route: ActivatedRoute,\r\n private location: Location,\r\n @Inject(ADM_BACKEND_URL) private backend: string,\r\n @Inject(ADM_MODULE_PATH) private mod: string,\r\n @Inject(ADM_CONVERSATIONS) public usesConversations: boolean) {\r\n\r\n this.intercom.send(InboundMessageTypes.Navigation, { sub: false, routeTitle: this.lc.loc(this.route.snapshot.data[\"title\"]) });\r\n\r\n this.HttpMethods = [\r\n { id: \"GET\", description: \"GET\" },\r\n { id: \"POST\", description: \"POST\" },\r\n { id: \"PUT\", description: \"PUT\" },\r\n { id: \"PATCH\", description: \"PATCH\" },\r\n { id: \"DELETE\", description: \"DELETE\" }\r\n ];\r\n\r\n this.Actions = [\r\n { id: \"C\", description: this.lc.loc(\"REST Call\") },\r\n { id: \"U\", description: this.lc.loc(\"Update\") },\r\n { id: \"D\", description: this.lc.loc(\"Delete\") }\r\n ];\r\n }\r\n\r\n ngOnInit() {\r\n this.storageSub = this.route.queryParams.subscribe(params => { this.Init(params[\"ignoreStorage\"]); });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.storageSub)\r\n this.storageSub.unsubscribe();\r\n }\r\n\r\n async Init(ignoreStorage) {\r\n let item = await this.localStorage.getItem<AuditsView>(\"HotAudittato\").toPromise();\r\n if (!ignoreStorage && item) {\r\n this.init(item);\r\n } else {\r\n this.init(null);\r\n this.location.replaceState(`/pages/${this.mod}/serveraudits`);\r\n this.route.snapshot.queryParams = [];\r\n await this.localStorage.removeItem(\"HotAudittato\").toPromise();\r\n }\r\n }\r\n\r\n init(HotPotato: AuditsView) {\r\n //Se ho la HotPotato vuol dire che sono appena tornato dall'edit/nuovo. Rifaccio la ricerca in base ai filtri precedenti\r\n //Altirmenti genero il modello nuovo normalmente\r\n if (HotPotato) {\r\n this.searchView = HotPotato;\r\n this.POSTGetProcesses(this.backend + Repository[\"POST_Adm_GetServerAudits\"], this.searchView);\r\n }\r\n else {\r\n this.searchView = new AuditsView();\r\n this.searchView.filterda = dayjs().add(-1, \"month\").format(this.lc.token(\"getSmallDateFormat\"));\r\n this.searchView.filtera = dayjs().format(this.lc.token(\"getSmallDateFormat\"));\r\n this.sendSearch();\r\n }\r\n }\r\n\r\n sendSearch(resetPage: boolean = true) {\r\n this.searchInProgress = true;\r\n if (resetPage)\r\n this.searchView.page = 1;\r\n\r\n this.POSTGetProcesses(this.backend + Repository[\"POST_Adm_GetServerAudits\"], this.searchView);\r\n }\r\n\r\n POSTGetProcesses(url: string, data: AuditsView) {\r\n this.http.post<AuditsView>(url, data).subscribe(t => {\r\n this.searchView = t;\r\n this.searchInProgress = false;\r\n this.localStorage.setItem(\"HotAudittato\", this.searchView).subscribe();\r\n });\r\n }\r\n}","export class KeyValue {\r\n constructor(public id: string, public description: string) { }\r\n}","import { AppSearch, GenericItem } from \"@esfaenza/es-table\";\r\n\r\nexport class ProcessesView extends AppSearch<GenericItem> {\r\n constructor() { super(); }\r\n\r\n filtertenant: string;\r\n filteruser: string;\r\n filterstate: string;\r\n filterglobal: boolean;\r\n filtertype: string;\r\n filterthreadtype: string;\r\n filterthreadstatus: string;\r\n filterinwait: boolean;\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\nimport { ADM_LOCALE } from \"../../tokens\";\r\n\r\n@Injectable()\r\nexport class AdmWrkLoc extends LocalizationService {\r\n constructor(@Inject(ADM_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n\r\n super.set(\"en->it\", \"Consumer Group succesfully changed\", [\"Gruppo di Consumo modificato con successo\"]);\r\n super.set(\"en->it\", \"Errors changing Consumer Group\", [\"Errori nella modifica del Gruppo di Consumo\"]);\r\n super.set(\"en->it\", \"Change Consumer Group\", [\"Modifica Gruppo di Consumo\"]);\r\n super.set(\"en->it\", \"New Consumer Group\", [\"Nuovo Gruppo di Consumo\"]);\r\n super.set(\"en->it\", \"Thread Type\", [\"Tipo Thread\"]);\r\n super.set(\"en->it\", \"Thread Status\", [\"Stato Thread\"]);\r\n super.set(\"en->it\", \"Type\", [\"Tipo\"]);\r\n super.set(\"en->it\", \"State\", [\"Stato\"]);\r\n super.set(\"en->it\", \"In Wait\", [\"In Attesa\"]);\r\n super.set(\"en->it\", \"Global\", [\"Globale\"]);\r\n super.set(\"en->it\", \"Search Application Processes\", [\"Ricerca Processi Applicativi\"]);\r\n super.set(\"en->it\", \"Tenant\", [\"Operatore\"]);\r\n super.set(\"en->it\", \"Errors toggling Process Tracing\", [\"Errori nella modifica del Tracing del Processo\"]);\r\n super.set(\"en->it\", \"User\", [\"Utente\"]);\r\n super.set(\"en->it\", \"Loading Application Processes\", [\"Carico i Processi Applicativi\"]);\r\n super.set(\"en->it\", \"Activate Process Tracing\", [\"Attiva Tracing Processo\"]);\r\n super.set(\"en->it\", \"Deactivate Process Tracing\", [\"Disattiva Tracing Progetto\"]);\r\n super.set(\"en->it\", \"Kill Process\", [\"Ammazza Processo\"]);\r\n super.set(\"en->it\", \"Errors killing the Process\", [\"Errori durante la Kill del Processo\"]);\r\n super.set(\"en->it\", \"Process succesfully killed\", [\"Processo ucciso con successo\"]);\r\n super.set(\"en->it\", \"Confirm Process Kill\", [\"Conferma Terminazione del Processo\"]);\r\n super.set(\"en->it\", \"Are you sure you wish to kill the selected process? The associated user will be disconnected\", [\"Sei sicuro di voler Terminare il processo selezionato? L'utente relativo sara' disconnesso\"]);\r\n }\r\n}","// Angular\r\nimport { Component, Inject, ViewChild } from \"@angular/core\";\r\nimport { HttpParams } from \"@angular/common/http\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\nimport { NgForm } from \"@angular/forms\";\r\n\r\n// Configurazioni\r\nimport { InboundMessageTypes, InterComService, MessageService, UtilityService } from \"@esfaenza/extensions\";\r\nimport { EsTableOperationDefinition } from \"@esfaenza/es-table\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { PreferencesService } from \"@esfaenza/preferences\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\r\n\r\n// Applicazione\r\nimport { KeyValue } from \"../../models/shared/KeyValue\";\r\nimport { ProcessesView } from \"../../models/components/ProcessesView\";\r\nimport { Repository } from \"../../models/externals/Repository\";\r\nimport { ADM_BACKEND_URL, ADM_MODULE_PATH } from \"../../tokens\";\r\n\r\n// Localizzazione\r\nimport { AdmWrkLoc } from \"./adm_wrk.component.loc\";\r\n\r\n@Component({\r\n selector: \"adm_wrk\",\r\n viewProviders: [{ provide: LocalizationService, useClass: AdmWrkLoc }],\r\n templateUrl: \"./adm_wrk.component.html\"\r\n})\r\nexport class AdmWrkComponent {\r\n\r\n public searchView: ProcessesView = new ProcessesView();\r\n public DynamicOps: EsTableOperationDefinition[] = [];\r\n public storageSub: any;\r\n public valueToShow: string = \"\";\r\n\r\n public Types: KeyValue[] = [];\r\n public States: KeyValue[] = [];\r\n public ThreadTypes: KeyValue[] = [];\r\n public ThreadStatuses: KeyValue[] = [];\r\n\r\n constructor(\r\n private utiExts: UtilityService,\r\n private msgExts: MessageService,\r\n public lc: LocalizationService,\r\n private localStorage: PreferencesService,\r\n private intercom: InterComService,\r\n private http: HTTPService,\r\n private route: ActivatedRoute,\r\n private location: Location,\r\n @Inject(ADM_BACKEND_URL) private backend: string,\r\n @Inject(ADM_MODULE_PATH) private mod: string) {\r\n\r\n this.intercom.send(InboundMessageTypes.Navigation, { sub: false, routeTitle: this.lc.loc(this.route.snapshot.data[\"title\"]) });\r\n\r\n this.DynamicOps = [\r\n new EsTableOperationDefinition(\"trace_on\", this.lc.loc(\"Activate Process Tracing\"), \"fa fa-circle text-danger\", \"\", \"trace_enabled\", \"N\"),\r\n new EsTableOperationDefinition(\"trace_off\", this.lc.loc(\"Deactivate Process Tracing\"), \"fa fa-circle text-success\", \"\", \"trace_enabled\", \"Y\"),\r\n new EsTableOperationDefinition(\"kill\", this.lc.loc(\"Kill Process\"), \"fa fa-ban text-danger\"),\r\n new EsTableOperationDefinition(\"change_cg\", this.lc.loc(\"Change Consumer Group\"), \"fa fa-edit text-info\")\r\n ];\r\n }\r\n\r\n ngOnInit() {\r\n this.storageSub = this.route.queryParams.subscribe(params => {\r\n this.Init(params[\"ignoreStorage\"]);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.storageSub)\r\n this.storageSub.unsubscribe();\r\n }\r\n\r\n Init(ignoreStorage) {\r\n this.Types = [new KeyValue(\"USER\", \"USER\"), new KeyValue(\"BACKGROUND\", \"BACKGROUND\"), new KeyValue(\"JOB\", \"JOB\")];\r\n this.States = [new KeyValue(\"ACTIVE\", \"ACTIVE\"), new KeyValue(\"INACTIVE\", \"INACTIVE\"), new KeyValue(\"KILLED\", \"KILLED\")];\r\n this.ThreadTypes = [\"APITHREAD\", \"APIPUSHTHREAD\", \"BACKGROUNDTHREAD\", \"JOBTHREAD\", \"PARALLELSLAVETHREAD\"].map(t => new KeyValue(t, t));\r\n this.ThreadStatuses = [\"ACTIVE\", \"IDLE\", \"THROTTLING\", \"KILLED\"].map(t => new KeyValue(t, t));\r\n this.doInit(ignoreStorage);\r\n }\r\n\r\n async doInit(ignoreStorage) {\r\n let item = await this.localStorage.getItem<ProcessesView>(\"HotProcessato\").toPromise();\r\n if (!ignoreStorage && item) {\r\n this.init(item);\r\n } else {\r\n this.init(null);\r\n this.location.replaceState(`/pages/${this.mod}/serverworkers`);\r\n this.route.snapshot.queryParams = [];\r\n await this.localStorage.removeItem(\"HotProcessato\").toPromise();\r\n }\r\n }\r\n\r\n init(HotPotato: ProcessesView) {\r\n if (HotPotato) {\r\n this.searchView = HotPotato;\r\n this.POSTGetProcesses(this.backend + Repository[\"POST_Adm_GetServerWorkers\"], this.searchView);\r\n }\r\n else {\r\n this.searchView = new ProcessesView();\r\n this.sendSearch();\r\n }\r\n }\r\n\r\n sendSearch(resetPage: boolean = true) {\r\n this.searchView.searchinprogress = true;\r\n if (resetPage)\r\n this.searchView.page = 1;\r\n\r\n this.POSTGetProcesses(this.backend + Repository[\"POST_Adm_GetServerWorkers\"], this.searchView);\r\n }\r\n\r\n POSTGetProcesses(url: string, data: ProcessesView) {\r\n this.http.post<ProcessesView>(url, data).subscribe(t => {\r\n this.searchView = t;\r\n this.searchView.searchinprogress = false;\r\n this.localStorage.setItem(\"HotProcessato\", this.searchView).subscribe();\r\n });\r\n }\r\n\r\n back() {\r\n this.location.back();\r\n }\r\n\r\n onOperation(event: { id: string, item: any }) {\r\n switch (event.id) {\r\n case \"trace_on\": this.toggleTracing(event.item, true); break;\r\n case \"trace_off\": this.toggleTracing(event.item, false); break;\r\n case \"kill\": this.killProcess(event.item); break;\r\n case \"change_cg\": this.changeProcessCg(event.item); break;\r\n }\r\n }\r\n\r\n toggleTracing(process: any, tracing: boolean) {\r\n var pars = new HttpParams()\r\n .set(\"instanceid\", process.properties[\"inst_id\"] || process.properties[\"INST_ID\"])\r\n .set(\"sid\", process.properties[\"sid\"] || process.properties[\"SID\"])\r\n .set(\"serial\", process.properties[\"serial\"] || process.properties[\"SERIAL\"])\r\n .set(\"enable\", tracing.toString());\r\n this.http.get<string>(this.backend + Repository[\"GET_Adm_SetProcessTracing\"], pars).subscribe(t => {\r\n this.msgExts.manageStringResponse(t, \"\", this.lc.loc(\"Errors toggling Process Tracing\"), () => this.sendSearch());\r\n });\r\n }\r\n\r\n killProcess(process: any) {\r\n this.msgExts.simpleWarningWithChoice(\r\n this.lc.loc(\"Confirm Process Kill\"),\r\n this.lc.loc(\"Are you sure you wish to kill the selected process? The associated user will be disconnected\"),\r\n () => {\r\n var pars = new HttpParams()\r\n .set(\"instanceid\", process.properties[\"inst_id\"] || process.properties[\"INST_ID\"])\r\n .set(\"sid\", process.properties[\"sid\"] || process.properties[\"SID\"])\r\n .set(\"serial\", process.properties[\"serial\"] || process.properties[\"SERIAL\"]);\r\n this.http.get<string>(this.backend + Repository[\"GET_Adm_KillProcess\"], pars).subscribe(t => {\r\n this.msgExts.manageStringResponse(t, this.lc.loc(\"Process succesfully killed\"), this.lc.loc(\"Errors killing the Process\"), () => this.sendSearch());\r\n });\r\n });\r\n }\r\n\r\n //********************************************** Gestione modifica Consumer Group ***************************************\r\n\r\n newCg: string = \"\";\r\n CGs: KeyValue[] = [];\r\n CgDictionariesLoaded: boolean = false;\r\n ProcessOnEdit: any;\r\n\r\n @ViewChild(\"cgFrom\") cgFrom: NgForm;\r\n @ViewChild(\"dlgChangeCg\") dlgChangeCg: ModalDirective;\r\n\r\n changeProcessCg(process: any) {\r\n this.ProcessOnEdit = process;\r\n if (!this.CgDictionariesLoaded) {\r\n this.loadCgDictionaries();\r\n this.CgDictionariesLoaded = true;\r\n }\r\n this.setupChangeCg();\r\n this.dlgChangeCg.show();\r\n }\r\n\r\n loadCgDictionaries() {\r\n this.http.get<KeyValue[]>(this.backend + Repository[\"GET_Adm_GetConsumerGroups\"]).subscribe(t => this.CGs = t);\r\n }\r\n\r\n setupChangeCg() {\r\n this.utiExts.cleanForm(this.cgFrom)\r\n setTimeout(() => { this.newCg = \"\" });\r\n }\r\n\r\n doChangeCg() {\r\n var pars = new HttpParams()\r\n .set(\"instanceid\", this.ProcessOnEdit.properties[\"inst_id\"] || this.ProcessOnEdit.properties[\"INST_ID\"])\r\n .set(\"sid\", this.ProcessOnEdit.properties[\"sid\"] || this.ProcessOnEdit.properties[\"SID\"])\r\n .set(\"serial\", this.ProcessOnEdit.properties[\"serial\"] || this.ProcessOnEdit.properties[\"SERIAL\"])\r\n .set(\"consumer_group\", this.newCg);\r\n this.http.get<string>(this.backend + Repository[\"GET_Adm_ChangeProcessConsumerGroup\"], pars).subscribe(t => {\r\n this.msgExts.manageStringResponse(t, this.lc.loc(\"Consumer Group succesfully changed\"), this.lc.loc(\"Errors changing Consumer Group\"), () => this.sendSearch());\r\n });\r\n\r\n return true;\r\n }\r\n}","export const Locale: string = localStorage.getItem(\"LOCALE\") || myconfig.LOCALE;","export const ProfilerDataNode_loc = {\r\n 'Parent ID': { 'en-US': \"Parent ID\", 'it-IT': \"ID Padre\" },\r\n 'ID': { 'en-US': \"ID\", 'it-IT': \"ID\" },\r\n 'Description': { 'en-US': \"Description\", 'it-IT': \"Descrizione\" },\r\n 'Calls': { 'en-US': \"Calls\", 'it-IT': \"Chiamate\" },\r\n 'Time': { 'en-US': \"Time\", 'it-IT': \"Tempo\" },\r\n 'Peak Time': { 'en-US': \"Peak Time\", 'it-IT': \"Tempo Max\" },\r\n 'Min. Time': { 'en-US': \"Min. Time\", 'it-IT': \"Tempo Min\" },\r\n 'Avg. Time': { 'en-US': \"Avg. Time\", 'it-IT': \"Tempo Medio\" },\r\n 'Specific Time': { 'en-US': \"Specific Time\", 'it-IT': \"Tempo Specifico\" },\r\n 'Percentage': { 'en-US': \"Percentage\", 'it-IT': \"Percentuale\" },\r\n 'Calls for Period': { 'en-US': \"Calls for Period\", 'it-IT': \"Chiamate Periodo\" },\r\n 'Time for Period': { 'en-US': \"Time for Period\", 'it-IT': \"Tempo Periodo\" },\r\n 'Peak Time for Period': { 'en-US': \"Peak Time for Period\", 'it-IT': \"Tempo Max Periodo\" },\r\n 'Min. Time for Period': { 'en-US': \"Min. Time for Period\", 'it-IT': \"Tempo Min Periodo\" },\r\n 'Avg. Time for Period': { 'en-US': \"Avg. Time for Period\", 'it-IT': \"Tempo Medio Periodo\" },\r\n 'Specific Time for Period': { 'en-US': \"Specific Time for Period\", 'it-IT': \"Tempo Specifico Periodo\" },\r\n 'Percentage for Period': { 'en-US': \"Percentage for Period\", 'it-IT': \"Percentuale Periodo\" },\r\n 'Event Type Name': { 'en-US': \"Event Type Name\", 'it-IT': \"Nome Tipologia Evento\" },\r\n 'Wait Class Name': { 'en-US': \"Wait Class Name\", 'it-IT': \"Nome Classe Attesa\" }\r\n}","import { autoserialize } from \"cerialize\";\r\nimport { Export } from \"@esfaenza/extensions\";\r\n\r\nimport { Locale } from \"../shared/Locale\";\r\nimport { ProfilerDataNode_loc } from \"./ProfilerDataNode.loc\";\r\n\r\nexport class ProfilerDataNode {\r\n @Export(10, ProfilerDataNode_loc[\"Parent ID\"][Locale])\r\n @autoserialize parentid: string;\r\n @Export(20, ProfilerDataNode_loc[\"ID\"][Locale])\r\n @autoserialize id: string;\r\n @Export(30, ProfilerDataNode_loc[\"Description\"][Locale])\r\n @autoserialize description: string;\r\n @Export(40, ProfilerDataNode_loc[\"Calls\"][Locale])\r\n @autoserialize calls: number;\r\n @Export(50, ProfilerDataNode_loc[\"Time\"][Locale])\r\n @autoserialize time: number;\r\n @Export(60, ProfilerDataNode_loc[\"Peak Time\"][Locale])\r\n @autoserialize peaktime: number;\r\n @Export(70, ProfilerDataNode_loc[\"Min. Time\"][Locale])\r\n @autoserialize mintime: number;\r\n @Export(80, ProfilerDataNode_loc[\"Avg. Time\"][Locale])\r\n @autoserialize avgtime: number;\r\n @Export(90, ProfilerDataNode_loc[\"Specific Time\"][Locale])\r\n @autoserialize timewithoutchildren: number;\r\n @Export(100, ProfilerDataNode_loc[\"Percentage\"][Locale])\r\n @autoserialize percentage: number;\r\n @Export(110, ProfilerDataNode_loc[\"Calls for Period\"][Locale])\r\n @autoserialize snapdeltacalls: number;\r\n @Export(120, ProfilerDataNode_loc[\"Time for Period\"][Locale])\r\n @autoserialize snapdeltatime: number;\r\n @Export(130, ProfilerDataNode_loc[\"Peak Time for Period\"][Locale])\r\n @autoserialize snappeaktime: number;\r\n @Export(140, ProfilerDataNode_loc[\"Min. Time for Period\"][Locale])\r\n @autoserialize snapmintime: number;\r\n @Export(150, ProfilerDataNode_loc[\"Avg. Time for Period\"][Locale])\r\n @autoserialize snapavgtime: number;\r\n @Export(160, ProfilerDataNode_loc[\"Specific Time for Period\"][Locale])\r\n @autoserialize snaptimewithoutchildren: number;\r\n @Export(170, ProfilerDataNode_loc[\"Percentage for Period\"][Locale])\r\n @autoserialize snappercentage: number;\r\n @Export(180, ProfilerDataNode_loc[\"Event Type Name\"][Locale])\r\n @autoserialize eventtypename: string;\r\n @Export(190, ProfilerDataNode_loc[\"Wait Class Name\"][Locale])\r\n @autoserialize waitclassname: string;\r\n}","import { AppSearch } from \"@esfaenza/es-table\";\r\nimport { ProfilerDataNode } from \"./ProfilerDataNode\";\r\n\r\nexport class ProfilerDataNodesView extends AppSearch<ProfilerDataNode>{\r\n constructor() { super(); }\r\n\r\n filterfrom: string;\r\n filterto: string;\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\nimport { ADM_LOCALE } from \"../../tokens\";\r\n\r\n@Injectable()\r\nexport class AdmProfilerComponentLoc extends LocalizationService {\r\n constructor(@Inject(ADM_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n\r\n super.set(\"en->it\", \"Server Profiler\", [\"Profiler del Server\"]);\r\n super.set(\"en->it\", \"Loading Data\", [\"Carico i Dati\"]);\r\n super.set(\"en->it\", \"ID\", [\"ID\"]);\r\n super.set(\"en->it\", \"Description\", [\"Descrizione\"]);\r\n super.set(\"en->it\", \"Calls\", [\"Chiamate\"]);\r\n super.set(\"en->it\", \"Time\", [\"Tempo\"]);\r\n super.set(\"en->it\", \"Peak Time\", [\"Tempo Max\"]);\r\n super.set(\"en->it\", \"Min. Time\", [\"Tempo Min\"]);\r\n super.set(\"en->it\", \"Avg. Time\", [\"Tempo Medio\"]);\r\n super.set(\"en->it\", \"Specific Time\", [\"Tempo Specifico\"]);\r\n super.set(\"en->it\", \"Percentage\", [\"Percentuale\"]);\r\n super.set(\"en->it\", \"Calls for Period\", [\"Chiamate Periodo\"]);\r\n super.set(\"en->it\", \"Time for Period\", [\"Tempo Periodo\"]);\r\n super.set(\"en->it\", \"Peak Time for Period\", [\"Tempo Max Periodo\"]);\r\n super.set(\"en->it\", \"Min. Time for Period\", [\"Tempo Min Periodo\"]);\r\n super.set(\"en->it\", \"Avg. Time for Period\", [\"Tempo Medio Periodo\"]);\r\n super.set(\"en->it\", \"Specific Time for Period\", [\"Tempo Specifico Periodo\"]);\r\n super.set(\"en->it\", \"Percentage for Period\", [\"Percentuale Periodo\"]);\r\n super.set(\"en->it\", \"Event Type Name\", [\"Nome Tipologia Evento\"]);\r\n super.set(\"en->it\", \"Wait Class Name\", [\"Nome Classe Attesa\"]);\r\n }\r\n}","// Angular\r\nimport { Component, Inject } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\n\r\n// Configurazioni\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { PreferencesService } from \"@esfaenza/preferences\";\r\nimport { ExportService, InboundMessageTypes, InterComService } from \"@esfaenza/extensions\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\n\r\n// Applicazione\r\nimport { ProfilerDataNode } from \"../../models/components/ProfilerDataNode\";\r\nimport { ProfilerDataNodesView } from \"../../models/components/ProfilerDataNodesView\";\r\nimport { Repository } from \"../../models/externals/Repository\";\r\nimport { NodeStats } from \"../../models/components/NodeStats\";\r\n\r\nimport { ADM_BACKEND_URL, ADM_MODULE_PATH } from \"../../tokens\";\r\n\r\n// Localizzazione\r\nimport { AdmProfilerComponentLoc } from \"./adm_profiler.component.loc\";\r\nimport { HttpParams } from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: \"adm_profiler\",\r\n providers: [{ provide: LocalizationService, useClass: AdmProfilerComponentLoc }],\r\n templateUrl: \"./adm_profiler.component.html\"\r\n})\r\nexport class AdmProfilerComponent {\r\n public searchView: ProfilerDataNodesView = new ProfilerDataNodesView();\r\n public storageSub: any;\r\n\r\n public NodeDetails: NodeStats;\r\n \r\n constructor(\r\n private expExts: ExportService,\r\n public lc: LocalizationService,\r\n private localStorage: PreferencesService,\r\n private location: Location,\r\n private intercom: InterComService,\r\n private http: HTTPService,\r\n private route: ActivatedRoute,\r\n @Inject(ADM_BACKEND_URL) private backend: string,\r\n @Inject(ADM_MODULE_PATH) private mod: string) {\r\n\r\n this.intercom.send(InboundMessageTypes.Navigation, { sub: false, routeTitle: this.lc.loc(this.route.snapshot.data[\"title\"]) });\r\n }\r\n\r\n ngOnInit() {\r\n this.storageSub = this.route.queryParams.subscribe(params => {\r\n this.Init(params[\"ignoreStorage\"]);\r\n });\r\n }\r\n\r\n Init(ignoreStore) {\r\n this.doInit(ignoreStore);\r\n }\r\n\r\n async doInit(ignoreStorage) {\r\n let item = await this.localStorage.getItem<ProfilerDataNodesView>(\"HotSearchProfilato\").toPromise();\r\n if (!ignoreStorage && item) {\r\n this.init(item);\r\n } else {\r\n this.init(null);\r\n this.location.replaceState(`/pages/${this.mod}/profiler`);\r\n this.route.snapshot.queryParams = [];\r\n await this.localStorage.removeItem(\"HotSearchProfilato\").toPromise();\r\n }\r\n }\r\n\r\n init(HotPotato: ProfilerDataNodesView) {\r\n if (HotPotato) {\r\n this.searchView = HotPotato;\r\n this.POSTGetItems(this.backend + Repository[\"POST_Adm_GetProfilerDataNodes\"], this.searchView);\r\n }\r\n else {\r\n this.searchView = new ProfilerDataNodesView();\r\n this.sendSearch();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.storageSub)\r\n this.storageSub.unsubscribe();\r\n }\r\n\r\n sendSearch(resetPage: boolean = true) {\r\n this.searchView.searchinprogress = true;\r\n if (resetPage)\r\n this.searchView.page = 1;\r\n\r\n this.POSTGetItems(this.backend + Repository[\"POST_Adm_GetProfilerDataNodes\"], this.searchView);\r\n }\r\n\r\n POSTGetItems(url: string, data: ProfilerDataNodesView) {\r\n this.http.post<ProfilerDataNodesView>(url, data).subscribe(t => {\r\n this.searchView = t;\r\n this.searchView.searchinprogress = false;\r\n this.localStorage.setItem(\"HotSearchProfilato\", this.searchView).subscribe();\r\n });\r\n }\r\n\r\n prepareExport(dataCallBack) {\r\n var view = JSON.parse(JSON.stringify(this.searchView));\r\n view.page = 1;\r\n view.itemsperpageoverride = 9999999;\r\n this.http.post<ProfilerDataNodesView>(this.backend + Repository[\"POST_Adm_GetProfilerDataNodes\"], view).subscribe(t => {\r\n let items: ProfilerDataNode[] = this.expExts.deserializeForExport(t.items, ProfilerDataNode);\r\n dataCallBack(items);\r\n });\r\n }\r\n\r\n loadNodeDetails(nodeId: string) {\r\n this.NodeDetails = null;\r\n let pars = new HttpParams().set('nodeId', nodeId);\r\n this.http.get<NodeStats>(this.backend + Repository.GET_Adm_GetNodeStats, pars).subscribe(t => {\r\n this.NodeDetails = t;\r\n });\r\n }\r\n}","import { AppSearch } from \"@esfaenza/es-table\";\r\nimport { TopActivity } from \"./TopActivity\";\r\n\r\nexport class TopActivitiesDataView extends AppSearch<TopActivity>{\r\n constructor() { super(); }\r\n\r\n filterfrom: string;\r\n filterto: string;\r\n filterrealtime: boolean;\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\nimport { ADM_LOCALE } from \"../../tokens\";\r\n\r\n@Injectable()\r\nexport class AdmTopActivitieLoc extends LocalizationService {\r\n constructor(@Inject(ADM_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n super.set(\"en->it\", \"Active Sessions\", [\"Sessioni Attive\"]);\r\n super.set(\"en->it\", \"Top Nodes\", [\"Prime Istruzioni\"]);\r\n super.set(\"en->it\", \"Top Sessions\", [\"Prime Sessioni\"]);\r\n super.set(\"en->it\", \"Loading Data\", [\"Carico i Dati\"]);\r\n super.set(\"en->it\", \"Top Activities\", [\"Attivita' Principali\"]);\r\n super.set(\"en->it\", \"Node Description\", [\"Descrizione Nodo\"]);\r\n super.set(\"en->it\", \"Node\", [\"Nodo\"]);\r\n super.set(\"en->it\", \"Activity\", [\"Attivita'\"]);\r\n super.set(\"en->it\", \"Limit\", [\"Limite\"]);\r\n super.set(\"en->it\", \"Node Type\", [\"Tipo Nodo\"]);\r\n super.set(\"en->it\", \"User\", [\"Utente\"]);\r\n super.set(\"en->it\", \"Tenant\", [\"Tenant\"]);\r\n super.set(\"en->it\", \"Process\", [\"Processo\"]);\r\n super.set(\"en->it\", \"Update every\", [\"Aggiorna ogni\"]);\r\n super.set(\"en->it\", \"second/s\", [\"secondo/i\"]);\r\n super.set(\"en->it\", \"Maximum Threads\", [\"Thread Massimi\"]);\r\n super.set(\"en->it\", \"CPUs\", [\"CPU\"]);\r\n super.set(\"en->it\", \"Wait Class Name\", [\"Nome Classe Attesa\"]);\r\n\r\n super.set(\"it->en\", \"Seriale\", [\"Serial\"]);\r\n super.set(\"it->en\", \"Stato\", [\"Status\"]);\r\n super.set(\"it->en\", \"Tipo\", [\"Type\"]);\r\n super.set(\"it->en\", \"Utente\", [\"User\"]);\r\n super.set(\"it->en\", \"Dettaglio Sessione\", [\"Session Detail\"]);\r\n super.set(\"it->en\", \"Chiudi\", [\"Close\"]);\r\n super.set(\"en->it\", \"CPU\", [\"CPU\"]);\r\n }\r\n}","// Angular\r\nimport { Component, Inject } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\n\r\n// Configurazioni\r\nimport { BaseChartComponent, DateValue, KeyValueColor, Limit, LineChartData, LineSerie, PieChartData } from \"@esfaenza/es-charts\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { PreferencesService } from \"@esfaenza/preferences\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\nimport { ItemsSelection } from \"@esfaenza/es-table\";\r\nimport { DateService, InboundMessageTypes, InterComService } from \"@esfaenza/extensions\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\r\nimport { map, takeUntil } from \"rxjs/operators\";\r\n\r\n// Modelli\r\nimport { DirectorInfos } from \"../../models/components/DirectorInfos\";\r\nimport { Repository } from \"../../models/externals/Repository\";\r\nimport { TopActivitiesDataView } from \"../../models/components/TopActivitiesDataView\";\r\nimport { TopNode } from \"../../models/components/TopNode\";\r\nimport { TopSession } from \"../../models/components/TopSession\";\r\nimport { NodeStats } from \"../../models/components/NodeStats\";\r\n\r\nimport { SessionStats } from \"../../models/components/SessionStats\";\r\nimport { ActiveSession } from \"../../models/components/ActiveSession\";\r\nimport { SessionThread } from \"../../models/components/SessionThread\";\r\n\r\n// Applicazione\r\nimport { ADM_BACKEND_URL, ADM_MODULE_PATH } from \"../../tokens\";\r\n\r\n// Localizzazione\r\nimport { AdmTopActivitieLoc } from \"./topact_search.component.loc\";\r\nimport { HttpParams } from \"@angular/common/http\";\r\nimport { ReplaySubject, interval } from \"rxjs\";\r\nimport { Dayjs } from \"dayjs\";\r\n\r\n@Component({\r\n selector: \"topact_search\",\r\n providers: [{ provide: LocalizationService, useClass: AdmTopActivitieLoc }],\r\n templateUrl: \"./topact_search.component.html\"\r\n})\r\nexport class AdmTopActivitiesComponent {\r\n public searchView: TopActivitiesDataView = new TopActivitiesDataView();\r\n public storageSub: any;\r\n private LastDataPoint: any;\r\n\r\n public autoUpdate: boolean = false;\r\n public seconds: string = \"5\";\r\n\r\n private ChartInstance: BaseChartComponent;\r\n public NodeDetails: NodeStats;\r\n\r\n private rtWindow: { from: Dayjs, to: Dayjs } = null;\r\n\r\n protected destroyed$: ReplaySubject<boolean> = new ReplaySubject(1);\r\n \r\n constructor(\r\n public dateExts: DateService,\r\n public lc: LocalizationService,\r\n private localStorage: PreferencesService,\r\n private location: Location,\r\n private intercom: InterComService,\r\n private http: HTTPService,\r\n private route: ActivatedRoute,\r\n @Inject(ADM_BACKEND_URL) private backend: string,\r\n @Inject(ADM_MODULE_PATH) private mod: string) {\r\n\r\n this.intercom.send(InboundMessageTypes.Navigation, { sub: false, routeTitle: this.lc.loc(this.route.snapshot.data[\"title\"]) });\r\n }\r\n\r\n ngOnInit() {\r\n\r\n // Ogni minuto calcolo qual è la finestra del realTime\r\n interval(60 * 1000).pipe(takeUntil(this.destroyed$)).subscribe(_ => {\r\n this.updateRealTimeWindow();\r\n });\r\n\r\n this.storageSub = this.route.queryParams.subscribe(params => {\r\n this.Init(params[\"ignoreStorage\"]);\r\n });\r\n }\r\n\r\n async updateRealTimeWindow() {\r\n let data = new TopActivitiesDataView();\r\n data = await this.http.post<TopActivitiesDataView>(this.backend + Repository.POST_Adm_GetTopActivities, data).toPromise();\r\n let reference = data.items[0];\r\n for (let i = 0; i < reference.actsessions.length; i++) {\r\n let itemref = reference.actsessions[i];\r\n let theD = this.dateExts.getDateConvertion(itemref.sampletime);\r\n\r\n if (!this.rtWindow)\r\n this.rtWindow = { from: theD, to: theD };\r\n else {\r\n if (theD.isBefore(this.rtWindow.from))\r\n this.rtWindow.from = theD;\r\n if (theD.isAfter(this.rtWindow.to))\r\n this.rtWindow.to = theD;\r\n }\r\n }\r\n }\r\n\r\n Init(ignoreStore) {\r\n this.doInit(ignoreStore);\r\n }\r\n\r\n async doInit(ignoreStorage) {\r\n let item = await this.localStorage.getItem<TopActivitiesDataView>(\"HotSearchTopAct\").toPromise();\r\n if (!ignoreStorage && item) {\r\n this.init(item);\r\n } else {\r\n this.init(null);\r\n this.location.replaceState(`/pages/${this.mod}/topact`);\r\n this.route.snapshot.queryParams = [];\r\n await this.localStorage.removeItem(\"HotSearchTopAct\").toPromise();\r\n }\r\n }\r\n\r\n init(HotPotato: TopActivitiesDataView) {\r\n if (HotPotato) {\r\n this.searchView = HotPotato;\r\n this.POSTGetItems(this.backend + Repository.POST_Adm_GetTopActivities, this.searchView, false);\r\n }\r\n else {\r\n this.searchView = new TopActivitiesDataView();\r\n this.sendSearch();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroyed$.next(true);\r\n this.destroyed$.complete();\r\n\r\n if (this.storageSub)\r\n this.storageSub.unsubscribe();\r\n }\r\n\r\n async sendSearch(resetPage: boolean = true, update: boolean = false, searchViewOverride: TopActivitiesDataView = null) {\r\n let sv = searchViewOverride ?? this.searchView;\r\n if ((sv.filterfrom || sv.filterto) && !this.rtWindow)\r\n await this.updateRealTimeWindow();\r\n\r\n let dateRequestOnRealtimeWindow: boolean =\r\n sv.filterfrom && this.dateExts.getDateConvertion(sv.filterfrom).isAfter(this.rtWindow.from) &&\r\n sv.filterto && this.dateExts.getDateConvertion(sv.filterto).isBefore(this.rtWindow.to);\r\n\r\n sv.filterrealtime = dateRequestOnRealtimeWindow;\r\n sv.searchinprogress = true;\r\n\r\n this.POSTGetItems(this.backend + Repository.POST_Adm_GetTopActivities, sv, update);\r\n }\r\n\r\n POSTGetItems(url: string, data: TopActivitiesDataView, update: boolean) {\r\n\r\n this.http.post<TopActivitiesDataView>(url, data).subscribe(async (t) => {\r\n //Se sono in modalità di update non devo toccare la searchView attuale se non per il searchinprogress che viene messo dall'es table\r\n if (!update) {\r\n this.searchView = t;\r\n this.localStorage.setItem(\"HotSearchTopAct\", this.searchView).subscribe();\r\n }\r\n var dirinfos = await this.getDirectorInfos();\r\n this.searchView.searchinprogress = false;\r\n this.reviewBindings(update, t, dirinfos);\r\n });\r\n }\r\n\r\n getDirectorInfos(): Promise<DirectorInfos> {\r\n return this.http.get<DirectorInfos>(this.backend + Repository.GET_Adm_GetInfos).pipe(map(res => { return res; })).toPromise();\r\n }\r\n\r\n loadNodeDetails(nodeId: string) {\r\n this.NodeDetails = null;\r\n let pars = new HttpParams().set('nodeId', nodeId);\r\n this.http.get<NodeStats>(this.backend + Repository.GET_Adm_GetNodeStats, pars).subscribe(t => {\r\n this.NodeDetails = t;\r\n });\r\n }\r\n\r\n // **************************************************** Trasformazione da searchview con unico elemento con tutto ai 3 elementi:\r\n // **************************************************** Grafico, TopNodes e TopSessions\r\n TopActiveSessions: LineChartData;\r\n TopNodes: TopNode[];\r\n TopSessions: TopSession[];\r\n DirInfos: DirectorInfos;\r\n seriesPropertiesMapping: { [index: string]: LineSerie } = {};\r\n propertiesSeriesMapping: { [index: string]: string } = {\r\n [\"cputime\"]: \"CPU\",\r\n [\"waittime\"]: \"Wait\",\r\n [\"scripttime\"]: \"Scripting\",\r\n [\"dbtime\"]: \"DB\",\r\n [\"nettime\"]: \"Network\",\r\n [\"throttletime\"]: \"Throttling\",\r\n [\"sleeptime\"]: \"Sleep\",\r\n [\"iotime\"]: \"IO\"\r\n };\r\n\r\n reviewBindings(update: boolean, searchViewOverride?, dirInfos?: DirectorInfos) {\r\n let reference = (searchViewOverride ?? this.searchView).items[0];\r\n this.TopNodes = reference.topnodes;\r\n this.TopSessions = reference.topsessions;\r\n this.DirInfos = dirInfos;\r\n\r\n if (!reference.actsessions || reference.actsessions.length == 0) {\r\n this.TopActiveSessions = null;\r\n return;\r\n }\r\n\r\n let series: LineSerie[] = [];\r\n let props = Object.keys(reference.actsessions[0]);\r\n for (let i = 0; i < props.length; i++) {\r\n if (props[i] != 'sampletime') {\r\n let s = new LineSerie(this.propertiesSeriesMapping[props[i]], [], null, null, \"sessions\");\r\n series.push(s);\r\n this.seriesPropertiesMapping[props[i]] = s;\r\n }\r\n }\r\n\r\n for (let i = 0; i < reference.actsessions.length; i++) {\r\n let itemref = reference.actsessions[i];\r\n let theD = new Date(itemref.sampletime);\r\n\r\n for (let i = 0; i < props.length; i++)\r\n if (props[i] != 'sampletime' && (!update || this.dateExts.getDateConvertion(theD).isAfter(this.LastDataPoint)))\r\n this.seriesPropertiesMapping[props[i]].values.push(new DateValue(theD, itemref[props[i]]));\r\n }\r\n\r\n if (update && this.ChartInstance) {\r\n let data = new LineChartData(series, new Limit(dirInfos?.threads, this.lc.loc(\"Maximum Threads\")));\r\n if (series.some(t => t.values.length > 0)) {\r\n this.ChartInstance.addData(data);\r\n this.LastDataPoint = series.map(t => dayjs.max(t.values.map(v => this.dateExts.getDateConvertion(v.d))))[0];\r\n }\r\n }\r\n else {\r\n this.TopActiveSessions = new LineChartData(series, new Limit(dirInfos?.threads, this.lc.loc(\"Maximum Threads\")));\r\n this.LastDataPoint = series.map(t => dayjs.max(t.values.map(v => this.dateExts.getDateConvertion(v.d))))[0];\r\n }\r\n }\r\n\r\n // #region Gestione update automatico\r\n updateTimer: any;\r\n autoUpdateChanged() {\r\n if (!/^[1-9]\\d*$/.test(this.seconds))\r\n this.seconds = '10';\r\n const secondsInMs = parseInt(this.seconds, null) * 1000;\r\n if (this.autoUpdate) {\r\n this.sendSearch(false, true);\r\n this.updateTimer = setInterval(() => { this.sendSearch(false, true); }, secondsInMs);\r\n }\r\n else\r\n clearInterval(this.updateTimer);\r\n }\r\n // #endregion\r\n\r\n private from: Date;\r\n private to: Date;\r\n\r\n dataSelectionChanged(event: { from: Date, to: Date, initial: boolean }) {\r\n this.from = event.initial ? (this.searchView.filterfrom ? this.dateExts.getDateConvertion(this.searchView.filterfrom).toDate() : \"\") : event.from;\r\n this.to = event.initial ? (this.searchView.filterto ? this.dateExts.getDateConvertion(this.searchView.filterto).toDate() : \"\") : event.to;\r\n\r\n var pseudoSearchView: TopActivitiesDataView = JSON.parse(JSON.stringify(this.searchView));\r\n pseudoSearchView.filterfrom = this.from ? dayjs(this.from).format(this.lc.token(\"getFullDateDisplayFormat\")) : \"\";\r\n pseudoSearchView.filterto = this.to ? dayjs(this.to).format(this.lc.token(\"getFullDateDisplayFormat\")) : \"\";\r\n this.sendSearch(true, true, pseudoSearchView);\r\n }\r\n\r\n onChartLoaded(chart: BaseChartComponent, overwriteInstance: boolean = true) {\r\n if(overwriteInstance)\r\n this.ChartInstance = chart;\r\n\r\n chart.Chart.events.on(\"ready\", () => {\r\n (<am4charts.XYChart>chart.Chart).xAxes.each(x => x.zoom({ start: 0, end: 1 }, true, true));\r\n (<am4charts.XYChart>chart.Chart).yAxes.each(y => y.zoom({ start: 0, end: 1 }, true, true));\r\n setTimeout(() => {\r\n (<am4charts.XYChart>chart.Chart).xAxes.each(x => x.zoom({ start: 0, end: 1 }, true, true));\r\n (<am4charts.XYChart>chart.Chart).yAxes.each(y => y.zoom({ start: 0, end: 1 }, true, true));\r\n\r\n // 500 millisecondi è più o meno il tempo di prima animazione del grafico. Finito questo si resetta lo zoom\r\n }, 500);\r\n });\r\n }\r\n\r\n // **************************************************** Gestione dettaglio sessione\r\n\r\n SessionDetails: SessionStats;\r\n SelectedTopNodes: TopNode[];\r\n SelectedSessions: LineChartData;\r\n\r\n seriesPropertiesMapping2: { [index: string]: LineSerie } = {};\r\n\r\n loadSessionDetails(sessionId: number, serialNo: number) {\r\n this.SessionDetails = null;\r\n let pars = new HttpParams().set('sid', sessionId.toString()).set('serial', serialNo.toString());\r\n this.http.get<SessionStats>(Repository.GET_Adm_GetSessionStats, pars).subscribe(t => {\r\n this.SessionDetails = t;\r\n this.threadSelectionChanged(null);\r\n });\r\n }\r\n\r\n threadSelectionChanged(selection?: ItemsSelection<SessionThread>) {\r\n this.SelectedTopNodes = null;\r\n this.SelectedSessions = null;\r\n\r\n requestAnimationFrame(() => {\r\n let sessDet = (selection?.count || 0) ? selection.items[0] : this.SessionDetails;\r\n\r\n this.SelectedTopNodes = sessDet.nodes;\r\n\r\n let series: LineSerie[] = []; \r\n let props = Object.keys(sessDet.sessions[0]);\r\n for (let i = 0; i < props.length; i++) {\r\n if (props[i] != 'sampletime') {\r\n let s = new LineSerie(this.propertiesSeriesMapping[props[i]], [], null, null, \"sessions\");\r\n series.push(s);\r\n this.seriesPropertiesMapping2[props[i]] = s;\r\n }\r\n }\r\n \r\n for (let i = 0; i < sessDet.sessions.length; i++) {\r\n let itemref = sessDet.sessions[i];\r\n let theD = new Date(itemref.sampletime);\r\n \r\n for (let i = 0; i < props.length; i++)\r\n if (props[i] != 'sampletime')\r\n this.seriesPropertiesMapping2[props[i]].values.push(new DateValue(theD, itemref[props[i]]));\r\n }\r\n\r\n this.SelectedSessions = new LineChartData(series);\r\n\r\n });\r\n }\r\n}","import { AppSearch, GenericItem } from \"@esfaenza/es-table\";\r\n\r\nexport class LocksView extends AppSearch<GenericItem>{\r\n constructor() { super(); }\r\n\r\n filtersid: string;\r\n filterlock: string;\r\n filterglobal: boolean;\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\nimport { ADM_LOCALE } from \"../../tokens\";\r\n\r\n@Injectable()\r\nexport class AdmEnqLoc extends LocalizationService {\r\n constructor(@Inject(ADM_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n super.set(\"en->it\", \"Search Application Locks\", [\"Ricerca Lock Applicativi\"]);\r\n super.set(\"en->it\", \"Name\", [\"Nome\"]);\r\n super.set(\"en->it\", \"Loading Application Locks\", [\"Carico i Lock Applicativi\"]);\r\n super.set(\"en->it\", \"Global\", [\"Globale\"]);\r\n }\r\n}","// Angular\r\nimport { Component, Inject } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\n\r\n// Configurazioni\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { PreferencesService } from \"@esfaenza/preferences\";\r\nimport { ExportService, InboundMessageTypes, InterComService } from \"@esfaenza/extensions\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\n\r\n// Applicazione\r\nimport { LocksView } from \"../../models/components/LocksView\";\r\nimport { Repository } from \"../../models/externals/Repository\";\r\nimport { ADM_BACKEND_URL, ADM_MODULE_PATH } from \"../../tokens\";\r\n\r\n// Localizzazione\r\nimport { AdmEnqLoc } from \"./adm_enq.component.loc\";\r\n\r\n@Component({\r\n selector: \"adm_enq\",\r\n viewProviders: [{ provide: LocalizationService, useClass: AdmEnqLoc }],\r\n templateUrl: \"./adm_enq.component.html\"\r\n})\r\nexport class AdmEnqComponent {\r\n public locksView: LocksView = new LocksView();\r\n public storageSub: any;\r\n\r\n constructor(\r\n public lc: LocalizationService,\r\n private localStorage: PreferencesService,\r\n public expExts: ExportService,\r\n private intercom: InterComService,\r\n private http: HTTPService,\r\n private route: ActivatedRoute,\r\n private location: Location,\r\n @Inject(ADM_BACKEND_URL) private backend: string,\r\n @Inject(ADM_MODULE_PATH) private mod: string) {\r\n\r\n this.intercom.send(InboundMessageTypes.Navigation, { sub: false, routeTitle: this.lc.loc(this.route.snapshot.data[\"title\"]) });\r\n }\r\n\r\n ngOnInit() {\r\n this.storageSub = this.route.queryParams.subscribe(params => { this.Init(params[\"ignoreStorage\"]); });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.storageSub)\r\n this.storageSub.unsubscribe();\r\n }\r\n\r\n async Init(ignoreStorage) {\r\n let item = await this.localStorage.getItem<LocksView>(\"HotEnqueue\").toPromise();\r\n if (!ignoreStorage && item) {\r\n this.init(item);\r\n } else {\r\n this.init(null);\r\n this.location.replaceState(`/pages/${this.mod}/serverenqueues`);\r\n this.route.snapshot.queryParams = [];\r\n await this.localStorage.removeItem(\"HotEnqueue\").toPromise();\r\n }\r\n }\r\n\r\n init(HotPotato: LocksView) {\r\n if (HotPotato) {\r\n this.locksView = HotPotato;\r\n this.POSTGetProcesses(this.backend + Repository[\"POST_Adm_GetServerLocks\"], this.locksView);\r\n }\r\n else {\r\n this.locksView = new LocksView();\r\n this.sendSearch();\r\n }\r\n }\r\n\r\n sendSearch(resetPage: boolean = true) {\r\n if (resetPage)\r\n this.locksView.page = 1;\r\n\r\n this.POSTGetProcesses(this.backend + Repository[\"POST_Adm_GetServerLocks\"], this.locksView);\r\n }\r\n\r\n POSTGetProcesses(url: string, data: LocksView) {\r\n this.http.post<LocksView>(url, data).subscribe(t => {\r\n this.locksView = t;\r\n this.localStorage.setItem(\"HotEnqueue\", this.locksView).subscribe();\r\n });\r\n }\r\n}","import { AppSearch } from \"@esfaenza/es-table\";\r\nimport { Metric } from \"./Metric\";\r\n\r\nexport class MetricsView extends AppSearch<Metric> {\r\n constructor() { super(); }\r\n\r\n filterfrom: string;\r\n filterto: string;\r\n filtersid: string;\r\n filterserial: string;\r\n filtermetrics: string[];\r\n filterrealtime: boolean;\r\n fitlerinstance: string;\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\nimport { ADM_LOCALE } from \"../../tokens\";\r\n\r\n@Injectable()\r\nexport class AdmMetricsLoc extends LocalizationService {\r\n constructor(@Inject(ADM_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n super.set(\"en->it\", \"System Metrics\", [\"Metriche di Sistema\"]);\r\n super.set(\"en->it\", \"Session ID\", [\"Cod. Sessione\"]);\r\n super.set(\"en->it\", \"Session Serial\", [\"Seriale Sessione\"]);\r\n super.set(\"en->it\", \"Filter Metrics...\", [\"Filtra Metriche...\"]);\r\n super.set(\"en->it\", \"Loading Data\", [\"Carico i Dati\"]);\r\n super.set(\"en->it\", \"Update every\", [\"Aggiorna ogni\"]);\r\n super.set(\"en->it\", \"second/s\", [\"secondo/i\"]);\r\n super.set(\"en->it\", \"Metrics Instance\", [\"Istanza Metriche\"]);\r\n }\r\n}","// Angular\r\nimport { HttpParams } from \"@angular/common/http\";\r\nimport { Component, Inject } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\n\r\n// Configurazioni\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { PreferencesService } from \"@esfaenza/preferences\";\r\nimport { BaseChartComponent } from \"@esfaenza/es-charts\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\nimport { DateService, InboundMessageTypes, InterComService } from \"@esfaenza/extensions\";\r\n\r\n// Applicazione\r\nimport { KeyValue } from \"../../models/shared/KeyValue\";\r\nimport { Metric } from \"../../models/components/Metric\";\r\nimport { MetricChart } from \"../../models/components/MetricChart\";\r\nimport { MetricsView } from \"../../models/components/MetricsView\";\r\nimport { Repository } from \"../../models/externals/Repository\";\r\nimport { ADM_BACKEND_URL, ADM_MODULE_PATH } from \"../../tokens\";\r\n\r\n// Localizzazione\r\nimport { AdmMetricsLoc } from \"./metrics_search.component.loc\";\r\n\r\n@Component({\r\n selector: \"metrics_search\",\r\n providers: [{ provide: LocalizationService, useClass: AdmMetricsLoc }],\r\n templateUrl: \"./metrics_search.component.html\"\r\n})\r\nexport class AdmMetricsComponent {\r\n\r\n public Metrics: Metric[];\r\n private MetricsChartCache: { [name: string]: { chart: BaseChartComponent, lastTs: Date } } = {};\r\n\r\n public searchView: MetricsView = new MetricsView();\r\n public storageSub: any;\r\n\r\n public autoUpdate: boolean = false;\r\n public seconds: string = \"5\";\r\n\r\n constructor(\r\n public dateExts: DateService,\r\n public lc: LocalizationService,\r\n private localStorage: PreferencesService,\r\n private location: Location,\r\n private intercom: InterComService,\r\n private http: HTTPService,\r\n private route: ActivatedRoute,\r\n @Inject(ADM_BACKEND_URL) private backend: string,\r\n @Inject(ADM_MODULE_PATH) private mod: string) {\r\n\r\n this.intercom.send(InboundMessageTypes.Navigation, { sub: false, routeTitle: this.lc.loc(this.route.snapshot.data[\"title\"]) });\r\n }\r\n\r\n ngOnInit() {\r\n this.storageSub = this.route.queryParams.subscribe(params => {\r\n this.Init(params[\"ignoreStorage\"]);\r\n });\r\n }\r\n\r\n Init(ignoreStore) {\r\n this.doInit(ignoreStore);\r\n }\r\n\r\n dateChanged() {\r\n // Pulizia di tutti i parametri di ricerca dipendenti dalle date\r\n this.metricsToShow = [];\r\n this.Metrics = [];\r\n this.instanceRequired = false;\r\n this.Instances = [];\r\n this.selectedInstance = \"\";\r\n this.searchView.filtermetrics = [];\r\n\r\n var pars = new HttpParams().set(\"from\", this.searchView.filterfrom || \"\").set(\"to\", this.searchView.filterto || \"\")\r\n this.http.get<Metric[]>(this.backend + Repository[\"GET_Adm_GetMetrics\"], pars).subscribe(t => this.Metrics = t);\r\n }\r\n\r\n async doInit(ignoreStorage) {\r\n let item = await this.localStorage.getItem<MetricsView>(\"HotSearchMetrics\").toPromise();\r\n if (!ignoreStorage && item) {\r\n this.init(item);\r\n } else {\r\n this.init(null);\r\n this.location.replaceState(`/pages/${this.mod}/metrics`);\r\n this.route.snapshot.queryParams = [];\r\n await this.localStorage.removeItem(\"HotSearchMetrics\").toPromise();\r\n }\r\n }\r\n\r\n init(HotPotato: MetricsView) {\r\n if (HotPotato) {\r\n this.searchView = HotPotato;\r\n this.POSTGetItems(this.backend + Repository[\"POST_Adm_GetMetrics\"], this.searchView, false);\r\n }\r\n else {\r\n this.searchView = new MetricsView();\r\n this.sendSearch();\r\n }\r\n this.dateChanged();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.storageSub)\r\n this.storageSub.unsubscribe();\r\n }\r\n\r\n sendSearch(resetPage: boolean = true, update: boolean = false, searchViewOverride: MetricsView = null) {\r\n if (!update)\r\n this.MetricsChartCache = {};\r\n\r\n this.searchView.searchinprogress = true;\r\n // Questa ricerca prende i nomi distinct delle metriche quindi devo prendere tutto per forza\r\n this.searchView.itemsperpageoverride = 999999;\r\n if (resetPage)\r\n this.searchView.page = 1;\r\n\r\n this.POSTGetItems(this.backend + Repository[\"POST_Adm_GetMetrics\"], searchViewOverride ?? this.searchView, update);\r\n }\r\n\r\n public Instances: KeyValue[] = []\r\n public selectedInstance = \"\";\r\n public instanceRequired: boolean = false;\r\n public metricsToShow: Metric[] = [];\r\n\r\n POSTGetItems(url: string, data: MetricsView, update: boolean) {\r\n data.filterrealtime = update ? data.filterrealtime : !(!!data.filterfrom || !!data.filterto);\r\n\r\n this.http.post<MetricsView>(url, data).subscribe(async (t) => {\r\n //Se sono in modalità di update non devo toccare la searchView attuale se non per il searchinprogress che viene messo dall'es table\r\n if (!update) {\r\n this.selectedInstance = \"\";\r\n this.metricsToShow = [];\r\n this.searchView = t;\r\n this.searchView.items.forEach(m => {\r\n if (m.instance && !this.Instances.find(t => t.id == m.instance))\r\n this.Instances.push(new KeyValue(m.instance, m.instance));\r\n });\r\n this.instanceRequired = this.Instances.length > 1;\r\n if (this.Instances.length == 1) {\r\n this.selectedInstance = this.Instances[0].id;\r\n this.instanceSelected();\r\n }\r\n else\r\n this.instanceSelected(true);\r\n this.localStorage.setItem(\"HotSearchMetrics\", this.searchView).subscribe();\r\n }\r\n else {\r\n // Per ogni grafico di ogni metrica aggiungo tutti i valori che sono DOPO all'ultimo ts registrato per quel grafico\r\n t.items.forEach(m => {\r\n m.values.forEach(c => {\r\n let refm = this.MetricsChartCache[this.metricKey(m, c)];\r\n if (refm) {\r\n c.series.forEach(s => { s.values = s.values.filter(v => this.dateExts.getDateConvertion(v.d).isAfter(refm.lastTs)); });\r\n if (c.series.some(t => t.values.length > 0)) {\r\n refm.lastTs = c.series.map(t => dayjs.max(t.values.map(v => this.dateExts.getDateConvertion(v.d))))[0];\r\n refm.chart.addData(c);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n this.searchView.searchinprogress = false;\r\n });\r\n }\r\n\r\n instanceSelected(allowNull: boolean = false) {\r\n if (!this.selectedInstance && !allowNull)\r\n return;\r\n\r\n this.metricsToShow = this.searchView.items.filter(t => !this.selectedInstance || (t.instance == this.selectedInstance));\r\n }\r\n\r\n linkChartToMetric(metric: Metric, metricChart: MetricChart, chartComp: BaseChartComponent) {\r\n this.MetricsChartCache[this.metricKey(metric, metricChart)] = { chart: chartComp, lastTs: metricChart.series.map(t => dayjs.max(t.values.map(v => this.dateExts.getDateConvertion(v.d))))[0] };\r\n }\r\n\r\n private metricKey(metric: Metric, value: MetricChart): string {\r\n return metric.name + \" - \" + value.xtitle + (metric.instance ? \" - \" + metric.instance : \"\");\r\n }\r\n\r\n // #region Gestione update automatico\r\n updateTimer: any;\r\n autoUpdateChanged() {\r\n if (!/^[1-9]\\d*$/.test(this.seconds))\r\n this.seconds = '10';\r\n const secondsInMs = parseInt(this.seconds, null) * 1000;\r\n if (this.autoUpdate) {\r\n this.sendSearch(false, true);\r\n this.updateTimer = setInterval(() => { this.sendSearch(false, true); }, secondsInMs);\r\n }\r\n else\r\n clearInterval(this.updateTimer);\r\n }\r\n // #endregion\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\nimport { ADM_LOCALE } from \"../../tokens\";\r\n\r\n@Injectable()\r\nexport class AdmLogsLoc extends LocalizationService {\r\n constructor(@Inject(ADM_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n super.set(\"en->it\", \"Server Logs\", [\"Log del Server\"]);\r\n }\r\n}","// Angular\r\nimport { Component, Inject } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\nimport { InboundMessageTypes, InterComService } from \"@esfaenza/extensions\";\r\n\r\n// Applicazione\r\nimport { ADM_BACKEND_URL } from \"../../tokens\";\r\nimport { Repository } from \"../../models/externals/Repository\";\r\n\r\n// Localizzazione\r\nimport { AdmLogsLoc } from \"./adm_logs.component.loc\";\r\n\r\n@Component({\r\n selector: \"adm_logs\",\r\n viewProviders: [{ provide: LocalizationService, useClass: AdmLogsLoc }],\r\n templateUrl: \"./adm_logs.component.html\"\r\n})\r\nexport class AdmLogsComponent {\r\n public Log: string;\r\n\r\n constructor(\r\n private intercom: InterComService,\r\n private http: HTTPService,\r\n private lc: LocalizationService,\r\n private route: ActivatedRoute,\r\n @Inject(ADM_BACKEND_URL) private backend: string) {\r\n\r\n this.intercom.send(InboundMessageTypes.Navigation, { sub: false, routeTitle: this.lc.loc(this.route.snapshot.data[\"title\"]) });\r\n }\r\n\r\n ngOnInit() {\r\n this.http.get<string>(this.backend + Repository[\"GET_Adm_GetServerLogs\"]).subscribe(t => { this.Log = t; });\r\n }\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\nimport { ADM_LOCALE } from \"../../tokens\";\r\n\r\n@Injectable()\r\nexport class NodeDetailLoc extends LocalizationService {\r\n constructor(@Inject(ADM_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n\r\n super.set(\"en->it\", \"Active Sessions\", [\"Sessioni Attive\"]);\r\n super.set(\"en->it\", \"Activity Node Details\", [\"Dettaglio Attività Nodo\"]);\r\n super.set(\"en->it\", \"Event Type\", [\"Tipo Evento\"]);\r\n super.set(\"en->it\", \"Elapsed (With Children)\", [\"Tempo Trascorso (Con Figli)\"]);\r\n super.set(\"en->it\", \"Wait Class\", [\"Classe Attesa\"]);\r\n super.set(\"en->it\", \"Elapsed (No Children)\", [\"Tempo Trascorso\"]);\r\n super.set(\"en->it\", \"Wait Stack\", [\"Stack di Attesa\"]);\r\n super.set(\"en->it\", \"Resources Usage\", [\"Utilizzo Risorse\"]);\r\n super.set(\"en->it\", \"Executions\", [\"Esecuzioni\"]);\r\n\t\tsuper.set(\"en->it\", \"Event detail\", [\"Dettaglio evento\"]);\r\n }\r\n}","// Angular\r\nimport { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\nimport { KeyValueColor, LineChartData, LineSerie, PieChartData } from \"@esfaenza/es-charts\";\r\n\r\n// Configurazioni\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\n// Applicazione\r\nimport { NodeStats } from \"../../models/components/NodeStats\";\r\n\r\n// Localizzazione\r\nimport { NodeDetailLoc } from \"./node_detail.component.loc\";\r\n\r\n@Component({\r\n selector: \"node-detail\",\r\n viewProviders: [{ provide: LocalizationService, useClass: NodeDetailLoc }],\r\n templateUrl: \"./node_detail.component.html\"\r\n})\r\nexport class NodeDetailComponent {\r\n\r\n @Input() NodeDetails: NodeStats;\r\n\r\n @Output() onClose: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n \r\n constructor(public lc: LocalizationService) { }\r\n\r\n ngOnInit() {\r\n let serie = new LineSerie(this.lc.loc(\"Active Sessions\"), this.NodeDetails.activesessions);\r\n this.NodeDetails.sessionchart = new LineChartData([serie]);\r\n this.NodeDetails.loadchart = new PieChartData([\r\n new KeyValueColor(\"CPU\", this.NodeDetails.cpuperc),\r\n new KeyValueColor(\"Wait\", this.NodeDetails.waitperc),\r\n new KeyValueColor(\"DB\", this.NodeDetails.dbperc),\r\n new KeyValueColor(\"Script\", this.NodeDetails.scriptperc),\r\n new KeyValueColor(\"Throttle\", this.NodeDetails.throttleperc),\r\n new KeyValueColor(\"Sleep\", this.NodeDetails.sleepperc),\r\n new KeyValueColor(\"Networking\", this.NodeDetails.networkperc),\r\n new KeyValueColor(\"IO\", this.NodeDetails.ioperc)\r\n ]);\r\n }\r\n\r\n closeDialog() {\r\n this.onClose.emit(true);\r\n }\r\n}","import { AppSearch, GenericItem } from \"@esfaenza/es-table\";\r\n\r\nexport class DynamicViewsView extends AppSearch<GenericItem> {\r\n constructor() { super(); }\r\n\r\n filtername: string;\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\nimport { ADM_LOCALE } from \"../../tokens\";\r\n\r\n@Injectable()\r\nexport class AdmDynamicViewsLoc extends LocalizationService {\r\n constructor(@Inject(ADM_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n\r\n super.set(\"en->it\", \"Search Application Dynamic Views\", [\"Ricerca Viste Dinamiche Applicative\"]);\r\n super.set(\"en->it\", \"Name\", [\"Nome\"]);\r\n super.set(\"en->it\", \"Loading Application Dynamic Views\", [\"Carico le Viste Dinamiche Applicative\"]);\r\n super.set(\"en->it\", \"View Name is mandatory for search operations\", [\"Il nome della vista è obbligatorio per le operazioni di ricerca\"]);\r\n super.set(\"en->it\", \"No element found for Dynamic View\", [\"Nessun elemento trovato per la vista dinamica\"]);\r\n }\r\n}","// Angular\r\nimport { Component, Inject } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\n\r\n// Configurazioni\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { PreferencesService } from \"@esfaenza/preferences\";\r\nimport { InboundMessageTypes, InterComService } from \"@esfaenza/extensions\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\nimport { AppSearch } from \"@esfaenza/es-table\";\r\n\r\n// Applicazione\r\nimport { Repository } from \"../../models/externals/Repository\";\r\nimport { DynamicViewsView } from \"../../models/components/DynamicViewsView\";\r\nimport { KeyValue } from \"../../models/shared/KeyValue\";\r\nimport { ADM_BACKEND_URL, ADM_MODULE_PATH } from \"../../tokens\";\r\n\r\n// Localizzazione\r\nimport { AdmDynamicViewsLoc } from \"./adm_dynamic_views.component.loc\";\r\n\r\n@Component({\r\n selector: \"adm_dynamic_views\",\r\n viewProviders: [{ provide: LocalizationService, useClass: AdmDynamicViewsLoc }],\r\n templateUrl: \"./adm_dynamic_views.component.html\"\r\n})\r\nexport class AdmDynamicViewsComponent {\r\n\r\n public searchView: DynamicViewsView = new DynamicViewsView();\r\n public Names: KeyValue[] = [];\r\n public storageSub: any;\r\n public badSearch: boolean = false;\r\n\r\n public currentName: string = \"\";\r\n\r\n // Staccato dalla view perché deve essere distrutta e ricreata di continuo\r\n public filterName:string = \"\";\r\n\r\n constructor(\r\n public lc: LocalizationService,\r\n private intercom: InterComService,\r\n private localStorage: PreferencesService,\r\n private http: HTTPService,\r\n private route: ActivatedRoute,\r\n private location: Location,\r\n @Inject(ADM_BACKEND_URL) private backend: string,\r\n @Inject(ADM_MODULE_PATH) private mod: string) {\r\n\r\n this.intercom.send(InboundMessageTypes.Navigation, { sub: false, routeTitle: this.lc.loc(this.route.snapshot.data[\"title\"]) });\r\n }\r\n\r\n ngOnInit() {\r\n this.http.get<KeyValue[]>(Repository.GET_Adm_GetDynamicViews).subscribe(t => { this.Names = t });\r\n this.storageSub = this.route.queryParams.subscribe(params => { this.Init(params[\"ignoreStorage\"]); });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.storageSub)\r\n this.storageSub.unsubscribe();\r\n }\r\n\r\n async Init(ignoreStorage) {\r\n let item = await this.localStorage.getItem<DynamicViewsView>(\"HotDinamitato\").toPromise();\r\n if (!ignoreStorage && item) {\r\n this.init(item);\r\n } else {\r\n this.init(null);\r\n this.location.replaceState(`/pages/${this.mod}/serverviews`);\r\n this.route.snapshot.queryParams = [];\r\n await this.localStorage.removeItem(\"HotDinamitato\").toPromise();\r\n }\r\n }\r\n\r\n init(HotPotato: DynamicViewsView) {\r\n //Se ho la HotPotato vuol dire che sono appena tornato dall'edit/nuovo. Rifaccio la ricerca in base ai filtri precedenti\r\n //Altirmenti genero il modello nuovo normalmente\r\n if (HotPotato) {\r\n this.searchView = HotPotato;\r\n this.POSTGetItems(this.backend + Repository.POST_Adm_GetDynamicViewData, this.searchView);\r\n }\r\n else {\r\n this.searchView = new DynamicViewsView();\r\n this.sendSearch();\r\n }\r\n }\r\n\r\n sendSearch(resetPage: boolean = true) {\r\n this.searchView.searchinprogress = true;\r\n if (resetPage)\r\n this.searchView.page = 1;\r\n\r\n this.searchView.filtername = this.filterName;\r\n this.POSTGetItems(this.backend + Repository.POST_Adm_GetDynamicViewData, this.searchView);\r\n }\r\n\r\n POSTGetItems(url: string, data: DynamicViewsView) {\r\n if (!this.searchView.filtername) {\r\n this.badSearch = true;\r\n AppSearch.reset(this.searchView);\r\n\r\n //Aggiorno il riferimento per refreshare la es-table\r\n this.searchView = JSON.parse(JSON.stringify(this.searchView));\r\n return;\r\n }\r\n else\r\n this.badSearch = false;\r\n\r\n // Per force-resettare l'estable\r\n if (this.currentName != this.searchView.filtername) {\r\n this.currentName = this.searchView.filtername;\r\n this.searchView = null;\r\n }\r\n\r\n this.http.post<DynamicViewsView>(url, data).subscribe(t => {\r\n this.searchView = t;\r\n this.searchView.searchinprogress = false;\r\n this.localStorage.setItem(\"HotDinamitato\", this.searchView).subscribe();\r\n });\r\n }\r\n\r\n}","// Angular\r\nimport { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({ name: 'format_time' })\r\nexport class FormatTimePipe implements PipeTransform {\r\n\r\n constructor() { }\r\n\r\n transform(value: number | string) {\r\n return this.secondsToHms(value);\r\n }\r\n\r\n secondsToHms(d: number | string): string {\r\n d = Number(d);\r\n var h = Math.floor(d / 3600);\r\n var m = Math.floor(d % 3600 / 60);\r\n var s = Math.floor(d % 3600 % 60);\r\n \r\n var hDisplay = h > 0 ? h + \" h, \" : \"\";\r\n var mDisplay = m > 0 ? m + \" min, \" : \"\";\r\n var sDisplay = s > 0 ? s + \" sec\" : \"\";\r\n return hDisplay + mDisplay + sDisplay; \r\n }\r\n}","/** Chiave di questo modulo, da utilizzare per i messaggi */\r\nexport const MK_ADM = \"EsAdminModule\";\r\n\r\n/** Messaggi gestiti da questo modulo */\r\nexport enum AdmMessageTypes{\r\n Message\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { InterComService, InterComMessage } from \"@esfaenza/extensions\";\r\n\r\n// Modelli\r\nimport { AdmMessageTypes, MK_ADM } from \"./admin-module-messages\";\r\n\r\n@Injectable()\r\nexport class AdminModuleCommService {\r\n\r\n constructor(private intercom: InterComService) { }\r\n\r\n public register() {\r\n this.intercom.register(MK_ADM);\r\n this.intercom.outbounds[MK_ADM].subscribe((t: InterComMessage) => { this.handleOutbound(t.type, t.message); });\r\n }\r\n\r\n private handleOutbound(type: AdmMessageTypes, message: any) {\r\n switch (type) {\r\n case AdmMessageTypes.Message:\r\n if (myconfig.DEBUG_MODE)\r\n console.log(\"@admin-module outbound message: \" + message);\r\n break;\r\n }\r\n }\r\n}","// Angular\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgModule } from \"@angular/core\";\nimport { RouterModule } from \"@angular/router\";\n\n// Material\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDayjsDateModule } from \"@esfaenza/material-dayjs-adapter\";\nimport { MatInputModule } from \"@angular/material/input\";\n\n// Libs\nimport { NgxMatDatetimePickerModule } from '@angular-material-components/datetime-picker';\nimport { ModalModule } from \"ngx-bootstrap/modal\";\nimport { CsvModule } from \"@ctrl/ngx-csv\";\nimport { BsDropdownModule } from \"ngx-bootstrap/dropdown\";\nimport { TooltipModule } from \"ngx-bootstrap/tooltip\";\n\n// Esfaenza\n import { EsTableModule } from \"@esfaenza/es-table\";\n import { FormsAndValidationsModule } from \"@esfaenza/forms-and-validations\";\n import { EsChartsModule } from \"@esfaenza/es-charts\";\n import { EsGertrudeModule } from \"@esfaenza/gertrude\";\n import { LocalizationModule } from \"@esfaenza/localizations\";\n import { ContextMenuModule } from \"@esfaenza/ngx-contextmenu\";\n\n// Components\nimport { AdmAuditsComponent } from \"./components/audits/adm_audits.component\";\nimport { AdmWrkComponent } from \"./components/workers/adm_wrk.component\";\nimport { AdmProfilerComponent } from \"./components/profiler/adm_profiler.component\";\nimport { AdmTopActivitiesComponent } from \"./components/topact/topact_search.component\";\nimport { AdmEnqComponent } from \"./components/enqueues/adm_enq.component\";\nimport { AdmMetricsComponent } from \"./components/metrics/metrics_search.component\";\nimport { AdmLogsComponent } from \"./components/logs/adm_logs.component\";\nimport { NodeDetailComponent } from \"./components/_shared/node_detail.component\";\nimport { AdmDynamicViewsComponent } from \"./components/dynamic_views/adm_dynamic_views.component\";\n\n// Pipes\nimport { FormatTimePipe } from \"./pipes/format_time.pipe\";\n\n// Communication Service\nimport { AdminModuleCommService } from \"./admin-module.comms.service\";\n\n// Tokens\nimport { ADM_BACKEND_URL, ADM_CONVERSATIONS, ADM_LOCALE } from \"./tokens\";\n\nexport const routeConfig = [\n {\n path: \"\", children: [\n { path: \"serverworkers\", component: AdmWrkComponent, data: { title: \"Search Application Processes\", internalNavigation: false } },\n { path: \"profiler\", component: AdmProfilerComponent, data: { title: \"Server Profiler\", internalNavigation: false } },\n { path: \"topact\", component: AdmTopActivitiesComponent, data: { title: \"Top Activities\", internalNavigation: false } },\n { path: \"metrics\", component: AdmMetricsComponent, data: { title: \"System Metrics\", internalNavigation: false } },\n { path: \"serverlogs\", component: AdmLogsComponent, data: { title: \"Server Logs\", internalNavigation: false } },\n { path: \"serveraudits\", component: AdmAuditsComponent, data: { title: \"Search Application Audits\", internalNavigation: false } },\n { path: \"serverenqueues\", component: AdmEnqComponent, data: { title: \"Search Application Locks\", internalNavigation: false } },\n { path: \"serverviews\", component: AdmDynamicViewsComponent, data: { title: \"Search Application Dynamic Views\", internalNavigation: false } }\n ]\n }\n];\n\nconst MODULES = [\n // Base\n CommonModule,\n FormsModule,\n\n // Material\n MatDatepickerModule,\n MatDayjsDateModule,\n MatIconModule,\n MatInputModule,\n\n // Bootstrap\n ModalModule,\n TooltipModule,\n BsDropdownModule,\n CsvModule,\n\n // Esfaenza e componenti visuali\n ContextMenuModule,\n LocalizationModule,\n EsTableModule,\n FormsAndValidationsModule,\n EsGertrudeModule,\n EsChartsModule,\n NgxMatDatetimePickerModule,\n\n RouterModule.forChild(routeConfig),\n];\n\nconst COMPONENTS = [\n AdmWrkComponent,\n AdmProfilerComponent,\n AdmTopActivitiesComponent,\n AdmDynamicViewsComponent,\n AdmLogsComponent,\n AdmAuditsComponent,\n AdmEnqComponent,\n AdmMetricsComponent,\n NodeDetailComponent\n];\n\nconst PIPES = [\n FormatTimePipe\n]\n\n@NgModule({\n imports: [...MODULES],\n declarations: [...COMPONENTS, ...PIPES],\n providers: [\n AdminModuleCommService,\n { provide: ADM_LOCALE, useValue: myconfig.LOCALE },\n { provide: ADM_BACKEND_URL, useValue: myconfig.BACKEND_URL },\n { provide: ADM_CONVERSATIONS, useValue: !!myconfig.TRANSACTIONS_TIMEOUT_S }\n ]\n})\nexport class AdmModule {\n constructor(private commService: AdminModuleCommService) {\n console.log(\"@esfaenza/admin-module: BOOTSTRAP\");\n this.commService.register();\n }\n}"]}
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/admin-module/src/lib/models/components/AuditsView.ts","../../../projects/admin-module/src/lib/models/externals/Repository.ts","../../../projects/admin-module/src/lib/tokens.ts","../../../projects/admin-module/src/lib/components/audits/adm_audits.component.loc.ts","../../../projects/admin-module/src/lib/components/audits/adm_audits.component.ts","../../../projects/admin-module/src/lib/models/shared/KeyValue.ts","../../../projects/admin-module/src/lib/models/components/ProcessesView.ts","../../../projects/admin-module/src/lib/components/workers/adm_wrk.component.loc.ts","../../../projects/admin-module/src/lib/components/workers/adm_wrk.component.ts","../../../projects/admin-module/src/lib/models/shared/Locale.ts","../../../projects/admin-module/src/lib/models/components/ProfilerDataNode.loc.ts","../../../projects/admin-module/src/lib/models/components/ProfilerDataNode.ts","../../../projects/admin-module/src/lib/models/components/ProfilerDataNodesView.ts","../../../projects/admin-module/src/lib/components/profiler/adm_profiler.component.loc.ts","../../../projects/admin-module/src/lib/components/profiler/adm_profiler.component.ts","../../../projects/admin-module/src/lib/models/components/TopActivitiesDataView.ts","../../../projects/admin-module/src/lib/components/topact/topact_search.component.loc.ts","../../../projects/admin-module/src/lib/components/topact/topact_search.component.ts","../../../projects/admin-module/src/lib/models/components/LocksView.ts","../../../projects/admin-module/src/lib/components/enqueues/adm_enq.component.loc.ts","../../../projects/admin-module/src/lib/components/enqueues/adm_enq.component.ts","../../../projects/admin-module/src/lib/models/components/MetricsView.ts","../../../projects/admin-module/src/lib/components/metrics/metrics_search.component.loc.ts","../../../projects/admin-module/src/lib/components/metrics/metrics_search.component.ts","../../../projects/admin-module/src/lib/components/logs/adm_logs.component.loc.ts","../../../projects/admin-module/src/lib/components/logs/adm_logs.component.ts","../../../projects/admin-module/src/lib/components/_shared/node_detail.component.loc.ts","../../../projects/admin-module/src/lib/components/_shared/node_detail.component.ts","../../../projects/admin-module/src/lib/models/components/DynamicViewsView.ts","../../../projects/admin-module/src/lib/components/dynamic_views/adm_dynamic_views.component.loc.ts","../../../projects/admin-module/src/lib/components/dynamic_views/adm_dynamic_views.component.ts","../../../projects/admin-module/src/lib/pipes/format_time.pipe.ts","../../../projects/admin-module/src/lib/admin-module-messages.ts","../../../projects/admin-module/src/lib/admin-module.comms.service.ts","../../../projects/admin-module/src/lib/admin-module.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","n","v","op","pop","push","__read","o","m","ar","error","__spread","concat","AuditsView","_super","_this","filteraction","filterhttp","AppSearch","Repository","ADM_LOCALE","InjectionToken","ADM_BACKEND_URL","ADM_MODULE_PATH","ADM_CONVERSATIONS","AdmAuditLoc","LOC_LOCALE","set","LocalizationService","Injectable","Inject","args","AdmAuditsComponent","lc","intercom","localStorage","http","route","location","backend","mod","usesConversations","searchView","Actions","HttpMethods","searchInProgress","send","InboundMessageTypes","Navigation","sub","routeTitle","loc","snapshot","data","id","description","ngOnInit","storageSub","queryParams","subscribe","params","Init","ngOnDestroy","unsubscribe","ignoreStorage","getItem","toPromise","item","_a","init","replaceState","removeItem","HotPotato","POSTGetProcesses","filterda","dayjs","add","format","token","filtera","sendSearch","resetPage","page","url","post","setItem","Component","selector","viewProviders","provide","useClass","template","InterComService","PreferencesService","HTTPService","ActivatedRoute","Location","KeyValue","ProcessesView","AdmWrkLoc","AdmWrkComponent","utiExts","msgExts","DynamicOps","valueToShow","Types","States","ThreadTypes","ThreadStatuses","newCg","CGs","CgDictionariesLoaded","EsTableOperationDefinition","map","doInit","searchinprogress","back","onOperation","event","toggleTracing","killProcess","changeProcessCg","process","tracing","pars","HttpParams","properties","toString","get","manageStringResponse","simpleWarningWithChoice","ProcessOnEdit","loadCgDictionaries","setupChangeCg","dlgChangeCg","show","cleanForm","cgFrom","setTimeout","doChangeCg","UtilityService","MessageService","ViewChild","Locale","myconfig","LOCALE","ProfilerDataNode_loc","Parent ID","en-US","it-IT","ID","Description","Calls","Time","Peak Time","Min. Time","Avg. Time","Specific Time","Percentage","Calls for Period","Time for Period","Peak Time for Period","Min. Time for Period","Avg. Time for Period","Specific Time for Period","Percentage for Period","Event Type Name","Wait Class Name","ProfilerDataNode","Export","autoserialize","ProfilerDataNodesView","AdmProfilerComponentLoc","AdmProfilerComponent","expExts","ignoreStore","POSTGetItems","prepareExport","dataCallBack","view","JSON","parse","stringify","itemsperpageoverride","items","deserializeForExport","loadNodeDetails","nodeId","NodeDetails","providers","ExportService","TopActivitiesDataView","AdmTopActivitieLoc","AdmTopActivitiesComponent","dateExts","autoUpdate","seconds","rtWindow","destroyed$","ReplaySubject","seriesPropertiesMapping","propertiesSeriesMapping","seriesPropertiesMapping2","interval","pipe","takeUntil","updateRealTimeWindow","reference","actsessions","itemref","theD","getDateConvertion","sampletime","isBefore","from","isAfter","to","complete","update","searchViewOverride","sv","filterfrom","filterto","dateRequestOnRealtimeWindow","filterrealtime","getDirectorInfos","dirinfos","reviewBindings","res","dirInfos","TopNodes","topnodes","TopSessions","topsessions","DirInfos","series","props","keys","s","LineSerie","Date","i_1","LastDataPoint","values","DateValue","ChartInstance","LineChartData","Limit","threads","some","addData","max","TopActiveSessions","autoUpdateChanged","test","secondsInMs","parseInt","updateTimer","setInterval","clearInterval","dataSelectionChanged","initial","toDate","pseudoSearchView","onChartLoaded","chart","overwriteInstance","Chart","events","on","xAxes","each","x","zoom","start","end","yAxes","loadSessionDetails","sessionId","serialNo","SessionDetails","threadSelectionChanged","selection","SelectedTopNodes","SelectedSessions","requestAnimationFrame","sessDet","count","nodes","sessions","i_2","DateService","LocksView","AdmEnqLoc","AdmEnqComponent","locksView","MetricsView","AdmMetricsLoc","AdmMetricsComponent","MetricsChartCache","Instances","selectedInstance","instanceRequired","metricsToShow","dateChanged","Metrics","filtermetrics","sort","a","name","localeCompare","forEach","refm","metricKey","filter","lastTs","instance","find","instanceSelected","allowNull","linkChartToMetric","metric","metricChart","chartComp","xtitle","AdmLogsLoc","AdmLogsComponent","Log","NodeDetailLoc","NodeDetailComponent","onClose","EventEmitter","serie","activesessions","sessionchart","loadchart","PieChartData","KeyValueColor","cpuperc","waitperc","dbperc","scriptperc","throttleperc","sleepperc","networkperc","ioperc","closeDialog","emit","Input","Output","DynamicViewsView","AdmDynamicViewsLoc","AdmDynamicViewsComponent","Names","badSearch","currentName","filterName","filtername","reset","FormatTimePipe","transform","secondsToHms","Number","h","Math","floor","Pipe","AdmMessageTypes","MK_ADM","AdminModuleCommService","register","outbounds","handleOutbound","type","message","Message","DEBUG_MODE","console","log","title","internalNavigation","ɵ1","ɵ2","ɵ3","ɵ4","ɵ5","ɵ6","ɵ7","routeConfig","path","children","component","ɵ0","MODULES","CommonModule","FormsModule","MatDatepickerModule","MatDayjsDateModule","MatIconModule","MatInputModule","ModalModule","TooltipModule","BsDropdownModule","CsvModule","ContextMenuModule","LocalizationModule","EsTableModule","FormsAndValidationsModule","EsGertrudeModule","EsChartsModule","NgxMatDatetimePickerModule","RouterModule","forChild","COMPONENTS","PIPES","ɵ9","BACKEND_URL","ɵ10","TRANSACTIONS_TIMEOUT_S","commService","NgModule","imports","declarations","useValue","ɵ8"],"mappings":"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","sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { AppSearch } from \"@esfaenza/es-table\";\r\nimport { Audit } from \"./Audit\";\r\n\r\nexport class AuditsView extends AppSearch<Audit> {\r\n constructor() {\r\n super();\r\n this.filteraction = '';\r\n this.filterhttp = '';\r\n }\r\n\r\n filterda: string;\r\n filtera: string;\r\n filteruser: string;\r\n filterroute: string;\r\n filteraction: string;\r\n filteraddress: string;\r\n filterhttp: string;\r\n filterargs: string;\r\n filterobjid: string;\r\n filterobjtype: string;\r\n filterconversationid: string;\r\n}","export const Repository = {\r\n GET_Adm_ChangeProcessConsumerGroup: \"/api/Adm/ChangeProcessConsumerGroup\",\r\n GET_Adm_ClearAllCaches: \"/api/Adm/ClearAllCaches\",\r\n GET_Adm_GetConsumerGroups: \"/api/Adm/GetConsumerGroups#cache\",\r\n GET_Adm_GetInfos: \"/api/Adm/GetInfos\",\r\n GET_Adm_GetMetrics: \"/api/Adm/GetMetrics\",\r\n POST_Adm_GetMetrics: \"/api/Adm/GetMetrics\",\r\n POST_Adm_GetProfilerDataNodes: \"/api/Adm/GetProfilerDataNodes\",\r\n POST_Adm_GetServerAudits: \"/api/Adm/GetServerAudits\",\r\n POST_Adm_GetDynamicViewData: \"/api/Adm/GetDynamicViewData\",\r\n POST_Adm_GetServerLocks: \"/api/Adm/GetServerLocks\",\r\n GET_Adm_GetServerLogs: \"/api/Adm/GetServerLogs\",\r\n GET_Adm_GetDynamicViews: \"/api/Adm/GetDynamicViews\",\r\n POST_Adm_GetServerWorkers: \"/api/Adm/GetServerWorkers\",\r\n POST_Adm_GetTopActivities: \"/api/Adm/GetTopActivities\",\r\n GET_Adm_GetWorkerStatus: \"/api/Adm/GetWorkerStatus\",\r\n GET_Adm_InvalidateServerSideCache: \"/api/Adm/InvalidateServerSideCache\",\r\n GET_Adm_KillProcess: \"/api/Adm/KillProcess\",\r\n GET_Adm_SetProcessTracing: \"/api/Adm/SetProcessTracing\",\r\n GET_Adm_StartWorker: \"/api/Adm/StartWorker\",\r\n GET_Adm_StopWorker: \"/api/Adm/StopWorker\",\r\n GET_Adm_GetNodeStats: \"/api/Adm/GetNodeStats\",\r\n GET_Adm_GetSessionStats: \"/api/Adm/GetSessionStats\",\r\n}","import { InjectionToken } from \"@angular/core\";\r\n\r\nexport const ADM_LOCALE: InjectionToken<string> = new InjectionToken<string>('ADM_LOCALE');\r\nexport const ADM_BACKEND_URL: InjectionToken<string> = new InjectionToken<string>('ADM_BACKEND_URL');\r\nexport const ADM_MODULE_PATH: InjectionToken<string> = new InjectionToken<string>('ADM_MODULE_PATH');\r\nexport const ADM_CONVERSATIONS: InjectionToken<boolean> = new InjectionToken<boolean>('ADM_CONVERSATIONS');","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\nimport { ADM_LOCALE } from \"../../tokens\";\r\n\r\n@Injectable()\r\nexport class AdmAuditLoc extends LocalizationService {\r\n constructor(@Inject(ADM_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n\r\n super.set(\"en->it\", \"Search Application Audits\", [\"Ricerca Audit Applicativi\"]);\r\n super.set(\"en->it\", \"User\", [\"Utente\"]);\r\n super.set(\"en->it\", \"REST Call\", [\"Chiamata REST\"]);\r\n super.set(\"en->it\", \"Update\", [\"Aggiornamento\"]);\r\n super.set(\"en->it\", \"Route\", [\"Route\"]);\r\n super.set(\"en->it\", \"Action\", [\"Azione\"]);\r\n super.set(\"en->it\", \"HTTP Method\", [\"Metodo HTTP\"]);\r\n super.set(\"en->it\", \"Arguments\", [\"Argomenti\"]);\r\n super.set(\"en->it\", \"Object ID\", [\"ID Oggetto\"]);\r\n super.set(\"en->it\", \"Object Type\", [\"Tipo Oggetto\"]);\r\n super.set(\"en->it\", \"Object Data\", [\"Dati Oggetto\"]);\r\n super.set(\"en->it\", \"Loading Application Audits\", [\"Carico gli Audit dell'Applicazione\"]);\r\n super.set(\"en->it\", \"Date\", [\"Data\"]);\r\n super.set(\"en->it\", \"Address\", [\"Indirizzo\"]);\r\n super.set(\"en->it\", \"HTTP Response\", [\"Risposta HTTP\"]);\r\n super.set(\"en->it\", \"Application Error Code\", [\"Codice Errore Applicativo\"]);\r\n super.set(\"en->it\", \"Conversation ID\", [\"Cod. Conversation\"]);\r\n }\r\n}","// Angular\r\nimport { Component, Inject } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\n\r\n// Configurazioni\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { PreferencesService } from \"@esfaenza/preferences\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\nimport { InterComService, InboundMessageTypes } from \"@esfaenza/extensions\";\r\n\r\n// Applicazione\r\nimport { AuditsView } from \"../../models/components/AuditsView\";\r\nimport { KeyValue } from \"../../models/shared/KeyValue\";\r\nimport { Repository } from \"../../models/externals/Repository\";\r\nimport { ADM_BACKEND_URL, ADM_MODULE_PATH, ADM_CONVERSATIONS } from \"../../tokens\";\r\n\r\n// Localizzazione\r\nimport { AdmAuditLoc } from \"./adm_audits.component.loc\";\r\n\r\n@Component({\r\n selector: \"adm_audits\",\r\n viewProviders: [{ provide: LocalizationService, useClass: AdmAuditLoc }],\r\n templateUrl: \"./adm_audits.component.html\"\r\n})\r\nexport class AdmAuditsComponent {\r\n\r\n public searchView: AuditsView = new AuditsView();\r\n public Actions: KeyValue[] = [];\r\n public HttpMethods: KeyValue[] = [];\r\n public searchInProgress: boolean = false;\r\n public storageSub: any;\r\n\r\n constructor(\r\n public lc: LocalizationService,\r\n private intercom: InterComService,\r\n private localStorage: PreferencesService,\r\n private http: HTTPService,\r\n private route: ActivatedRoute,\r\n private location: Location,\r\n @Inject(ADM_BACKEND_URL) private backend: string,\r\n @Inject(ADM_MODULE_PATH) private mod: string,\r\n @Inject(ADM_CONVERSATIONS) public usesConversations: boolean) {\r\n\r\n this.intercom.send(InboundMessageTypes.Navigation, { sub: false, routeTitle: this.lc.loc(this.route.snapshot.data[\"title\"]) });\r\n\r\n this.HttpMethods = [\r\n { id: \"GET\", description: \"GET\" },\r\n { id: \"POST\", description: \"POST\" },\r\n { id: \"PUT\", description: \"PUT\" },\r\n { id: \"PATCH\", description: \"PATCH\" },\r\n { id: \"DELETE\", description: \"DELETE\" }\r\n ];\r\n\r\n this.Actions = [\r\n { id: \"C\", description: this.lc.loc(\"REST Call\") },\r\n { id: \"U\", description: this.lc.loc(\"Update\") },\r\n { id: \"D\", description: this.lc.loc(\"Delete\") }\r\n ];\r\n }\r\n\r\n ngOnInit() {\r\n this.storageSub = this.route.queryParams.subscribe(params => { this.Init(params[\"ignoreStorage\"]); });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.storageSub)\r\n this.storageSub.unsubscribe();\r\n }\r\n\r\n async Init(ignoreStorage) {\r\n let item = await this.localStorage.getItem<AuditsView>(\"HotAudittato\").toPromise();\r\n if (!ignoreStorage && item) {\r\n this.init(item);\r\n } else {\r\n this.init(null);\r\n this.location.replaceState(`/pages/${this.mod}/serveraudits`);\r\n this.route.snapshot.queryParams = [];\r\n await this.localStorage.removeItem(\"HotAudittato\").toPromise();\r\n }\r\n }\r\n\r\n init(HotPotato: AuditsView) {\r\n //Se ho la HotPotato vuol dire che sono appena tornato dall'edit/nuovo. Rifaccio la ricerca in base ai filtri precedenti\r\n //Altirmenti genero il modello nuovo normalmente\r\n if (HotPotato) {\r\n this.searchView = HotPotato;\r\n this.POSTGetProcesses(this.backend + Repository[\"POST_Adm_GetServerAudits\"], this.searchView);\r\n }\r\n else {\r\n this.searchView = new AuditsView();\r\n this.searchView.filterda = dayjs().add(-1, \"month\").format(this.lc.token(\"getSmallDateFormat\"));\r\n this.searchView.filtera = dayjs().format(this.lc.token(\"getSmallDateFormat\"));\r\n this.sendSearch();\r\n }\r\n }\r\n\r\n sendSearch(resetPage: boolean = true) {\r\n this.searchInProgress = true;\r\n if (resetPage)\r\n this.searchView.page = 1;\r\n\r\n this.POSTGetProcesses(this.backend + Repository[\"POST_Adm_GetServerAudits\"], this.searchView);\r\n }\r\n\r\n POSTGetProcesses(url: string, data: AuditsView) {\r\n this.http.post<AuditsView>(url, data).subscribe(t => {\r\n this.searchView = t;\r\n this.searchInProgress = false;\r\n this.localStorage.setItem(\"HotAudittato\", this.searchView).subscribe();\r\n });\r\n }\r\n}","export class KeyValue {\r\n constructor(public id: string, public description: string) { }\r\n}","import { AppSearch, GenericItem } from \"@esfaenza/es-table\";\r\n\r\nexport class ProcessesView extends AppSearch<GenericItem> {\r\n constructor() { super(); }\r\n\r\n filtertenant: string;\r\n filteruser: string;\r\n filterstate: string;\r\n filterglobal: boolean;\r\n filtertype: string;\r\n filterthreadtype: string;\r\n filterthreadstatus: string;\r\n filterinwait: boolean;\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\nimport { ADM_LOCALE } from \"../../tokens\";\r\n\r\n@Injectable()\r\nexport class AdmWrkLoc extends LocalizationService {\r\n constructor(@Inject(ADM_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n\r\n super.set(\"en->it\", \"Consumer Group succesfully changed\", [\"Gruppo di Consumo modificato con successo\"]);\r\n super.set(\"en->it\", \"Errors changing Consumer Group\", [\"Errori nella modifica del Gruppo di Consumo\"]);\r\n super.set(\"en->it\", \"Change Consumer Group\", [\"Modifica Gruppo di Consumo\"]);\r\n super.set(\"en->it\", \"New Consumer Group\", [\"Nuovo Gruppo di Consumo\"]);\r\n super.set(\"en->it\", \"Thread Type\", [\"Tipo Thread\"]);\r\n super.set(\"en->it\", \"Thread Status\", [\"Stato Thread\"]);\r\n super.set(\"en->it\", \"Type\", [\"Tipo\"]);\r\n super.set(\"en->it\", \"State\", [\"Stato\"]);\r\n super.set(\"en->it\", \"In Wait\", [\"In Attesa\"]);\r\n super.set(\"en->it\", \"Global\", [\"Globale\"]);\r\n super.set(\"en->it\", \"Search Application Processes\", [\"Ricerca Processi Applicativi\"]);\r\n super.set(\"en->it\", \"Tenant\", [\"Operatore\"]);\r\n super.set(\"en->it\", \"Errors toggling Process Tracing\", [\"Errori nella modifica del Tracing del Processo\"]);\r\n super.set(\"en->it\", \"User\", [\"Utente\"]);\r\n super.set(\"en->it\", \"Loading Application Processes\", [\"Carico i Processi Applicativi\"]);\r\n super.set(\"en->it\", \"Activate Process Tracing\", [\"Attiva Tracing Processo\"]);\r\n super.set(\"en->it\", \"Deactivate Process Tracing\", [\"Disattiva Tracing Progetto\"]);\r\n super.set(\"en->it\", \"Kill Process\", [\"Ammazza Processo\"]);\r\n super.set(\"en->it\", \"Errors killing the Process\", [\"Errori durante la Kill del Processo\"]);\r\n super.set(\"en->it\", \"Process succesfully killed\", [\"Processo ucciso con successo\"]);\r\n super.set(\"en->it\", \"Confirm Process Kill\", [\"Conferma Terminazione del Processo\"]);\r\n super.set(\"en->it\", \"Are you sure you wish to kill the selected process? The associated user will be disconnected\", [\"Sei sicuro di voler Terminare il processo selezionato? L'utente relativo sara' disconnesso\"]);\r\n }\r\n}","// Angular\r\nimport { Component, Inject, ViewChild } from \"@angular/core\";\r\nimport { HttpParams } from \"@angular/common/http\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\nimport { NgForm } from \"@angular/forms\";\r\n\r\n// Configurazioni\r\nimport { InboundMessageTypes, InterComService, MessageService, UtilityService } from \"@esfaenza/extensions\";\r\nimport { EsTableOperationDefinition } from \"@esfaenza/es-table\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { PreferencesService } from \"@esfaenza/preferences\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport { ModalDirective } from \"ngx-bootstrap/modal\";\r\n\r\n// Applicazione\r\nimport { KeyValue } from \"../../models/shared/KeyValue\";\r\nimport { ProcessesView } from \"../../models/components/ProcessesView\";\r\nimport { Repository } from \"../../models/externals/Repository\";\r\nimport { ADM_BACKEND_URL, ADM_MODULE_PATH } from \"../../tokens\";\r\n\r\n// Localizzazione\r\nimport { AdmWrkLoc } from \"./adm_wrk.component.loc\";\r\n\r\n@Component({\r\n selector: \"adm_wrk\",\r\n viewProviders: [{ provide: LocalizationService, useClass: AdmWrkLoc }],\r\n templateUrl: \"./adm_wrk.component.html\"\r\n})\r\nexport class AdmWrkComponent {\r\n\r\n public searchView: ProcessesView = new ProcessesView();\r\n public DynamicOps: EsTableOperationDefinition[] = [];\r\n public storageSub: any;\r\n public valueToShow: string = \"\";\r\n\r\n public Types: KeyValue[] = [];\r\n public States: KeyValue[] = [];\r\n public ThreadTypes: KeyValue[] = [];\r\n public ThreadStatuses: KeyValue[] = [];\r\n\r\n constructor(\r\n private utiExts: UtilityService,\r\n private msgExts: MessageService,\r\n public lc: LocalizationService,\r\n private localStorage: PreferencesService,\r\n private intercom: InterComService,\r\n private http: HTTPService,\r\n private route: ActivatedRoute,\r\n private location: Location,\r\n @Inject(ADM_BACKEND_URL) private backend: string,\r\n @Inject(ADM_MODULE_PATH) private mod: string) {\r\n\r\n this.intercom.send(InboundMessageTypes.Navigation, { sub: false, routeTitle: this.lc.loc(this.route.snapshot.data[\"title\"]) });\r\n\r\n this.DynamicOps = [\r\n new EsTableOperationDefinition(\"trace_on\", this.lc.loc(\"Activate Process Tracing\"), \"fa fa-circle text-danger\", \"\", \"trace_enabled\", \"N\"),\r\n new EsTableOperationDefinition(\"trace_off\", this.lc.loc(\"Deactivate Process Tracing\"), \"fa fa-circle text-success\", \"\", \"trace_enabled\", \"Y\"),\r\n new EsTableOperationDefinition(\"kill\", this.lc.loc(\"Kill Process\"), \"fa fa-ban text-danger\"),\r\n new EsTableOperationDefinition(\"change_cg\", this.lc.loc(\"Change Consumer Group\"), \"fa fa-edit text-info\")\r\n ];\r\n }\r\n\r\n ngOnInit() {\r\n this.storageSub = this.route.queryParams.subscribe(params => {\r\n this.Init(params[\"ignoreStorage\"]);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.storageSub)\r\n this.storageSub.unsubscribe();\r\n }\r\n\r\n Init(ignoreStorage) {\r\n this.Types = [new KeyValue(\"USER\", \"USER\"), new KeyValue(\"BACKGROUND\", \"BACKGROUND\"), new KeyValue(\"JOB\", \"JOB\")];\r\n this.States = [new KeyValue(\"ACTIVE\", \"ACTIVE\"), new KeyValue(\"INACTIVE\", \"INACTIVE\"), new KeyValue(\"KILLED\", \"KILLED\")];\r\n this.ThreadTypes = [\"APITHREAD\", \"APIPUSHTHREAD\", \"BACKGROUNDTHREAD\", \"JOBTHREAD\", \"PARALLELSLAVETHREAD\"].map(t => new KeyValue(t, t));\r\n this.ThreadStatuses = [\"ACTIVE\", \"IDLE\", \"THROTTLING\", \"KILLED\"].map(t => new KeyValue(t, t));\r\n this.doInit(ignoreStorage);\r\n }\r\n\r\n async doInit(ignoreStorage) {\r\n let item = await this.localStorage.getItem<ProcessesView>(\"HotProcessato\").toPromise();\r\n if (!ignoreStorage && item) {\r\n this.init(item);\r\n } else {\r\n this.init(null);\r\n this.location.replaceState(`/pages/${this.mod}/serverworkers`);\r\n this.route.snapshot.queryParams = [];\r\n await this.localStorage.removeItem(\"HotProcessato\").toPromise();\r\n }\r\n }\r\n\r\n init(HotPotato: ProcessesView) {\r\n if (HotPotato) {\r\n this.searchView = HotPotato;\r\n this.POSTGetProcesses(this.backend + Repository[\"POST_Adm_GetServerWorkers\"], this.searchView);\r\n }\r\n else {\r\n this.searchView = new ProcessesView();\r\n this.sendSearch();\r\n }\r\n }\r\n\r\n sendSearch(resetPage: boolean = true) {\r\n this.searchView.searchinprogress = true;\r\n if (resetPage)\r\n this.searchView.page = 1;\r\n\r\n this.POSTGetProcesses(this.backend + Repository[\"POST_Adm_GetServerWorkers\"], this.searchView);\r\n }\r\n\r\n POSTGetProcesses(url: string, data: ProcessesView) {\r\n this.http.post<ProcessesView>(url, data).subscribe(t => {\r\n this.searchView = t;\r\n this.searchView.searchinprogress = false;\r\n this.localStorage.setItem(\"HotProcessato\", this.searchView).subscribe();\r\n });\r\n }\r\n\r\n back() {\r\n this.location.back();\r\n }\r\n\r\n onOperation(event: { id: string, item: any }) {\r\n switch (event.id) {\r\n case \"trace_on\": this.toggleTracing(event.item, true); break;\r\n case \"trace_off\": this.toggleTracing(event.item, false); break;\r\n case \"kill\": this.killProcess(event.item); break;\r\n case \"change_cg\": this.changeProcessCg(event.item); break;\r\n }\r\n }\r\n\r\n toggleTracing(process: any, tracing: boolean) {\r\n var pars = new HttpParams()\r\n .set(\"instanceid\", process.properties[\"inst_id\"] || process.properties[\"INST_ID\"])\r\n .set(\"sid\", process.properties[\"sid\"] || process.properties[\"SID\"])\r\n .set(\"serial\", process.properties[\"serial\"] || process.properties[\"SERIAL\"])\r\n .set(\"enable\", tracing.toString());\r\n this.http.get<string>(this.backend + Repository[\"GET_Adm_SetProcessTracing\"], pars).subscribe(t => {\r\n this.msgExts.manageStringResponse(t, \"\", this.lc.loc(\"Errors toggling Process Tracing\"), () => this.sendSearch());\r\n });\r\n }\r\n\r\n killProcess(process: any) {\r\n this.msgExts.simpleWarningWithChoice(\r\n this.lc.loc(\"Confirm Process Kill\"),\r\n this.lc.loc(\"Are you sure you wish to kill the selected process? The associated user will be disconnected\"),\r\n () => {\r\n var pars = new HttpParams()\r\n .set(\"instanceid\", process.properties[\"inst_id\"] || process.properties[\"INST_ID\"])\r\n .set(\"sid\", process.properties[\"sid\"] || process.properties[\"SID\"])\r\n .set(\"serial\", process.properties[\"serial\"] || process.properties[\"SERIAL\"]);\r\n this.http.get<string>(this.backend + Repository[\"GET_Adm_KillProcess\"], pars).subscribe(t => {\r\n this.msgExts.manageStringResponse(t, this.lc.loc(\"Process succesfully killed\"), this.lc.loc(\"Errors killing the Process\"), () => this.sendSearch());\r\n });\r\n });\r\n }\r\n\r\n //********************************************** Gestione modifica Consumer Group ***************************************\r\n\r\n newCg: string = \"\";\r\n CGs: KeyValue[] = [];\r\n CgDictionariesLoaded: boolean = false;\r\n ProcessOnEdit: any;\r\n\r\n @ViewChild(\"cgFrom\") cgFrom: NgForm;\r\n @ViewChild(\"dlgChangeCg\") dlgChangeCg: ModalDirective;\r\n\r\n changeProcessCg(process: any) {\r\n this.ProcessOnEdit = process;\r\n if (!this.CgDictionariesLoaded) {\r\n this.loadCgDictionaries();\r\n this.CgDictionariesLoaded = true;\r\n }\r\n this.setupChangeCg();\r\n this.dlgChangeCg.show();\r\n }\r\n\r\n loadCgDictionaries() {\r\n this.http.get<KeyValue[]>(this.backend + Repository[\"GET_Adm_GetConsumerGroups\"]).subscribe(t => this.CGs = t);\r\n }\r\n\r\n setupChangeCg() {\r\n this.utiExts.cleanForm(this.cgFrom)\r\n setTimeout(() => { this.newCg = \"\" });\r\n }\r\n\r\n doChangeCg() {\r\n var pars = new HttpParams()\r\n .set(\"instanceid\", this.ProcessOnEdit.properties[\"inst_id\"] || this.ProcessOnEdit.properties[\"INST_ID\"])\r\n .set(\"sid\", this.ProcessOnEdit.properties[\"sid\"] || this.ProcessOnEdit.properties[\"SID\"])\r\n .set(\"serial\", this.ProcessOnEdit.properties[\"serial\"] || this.ProcessOnEdit.properties[\"SERIAL\"])\r\n .set(\"consumer_group\", this.newCg);\r\n this.http.get<string>(this.backend + Repository[\"GET_Adm_ChangeProcessConsumerGroup\"], pars).subscribe(t => {\r\n this.msgExts.manageStringResponse(t, this.lc.loc(\"Consumer Group succesfully changed\"), this.lc.loc(\"Errors changing Consumer Group\"), () => this.sendSearch());\r\n });\r\n\r\n return true;\r\n }\r\n}","export const Locale: string = localStorage.getItem(\"LOCALE\") || myconfig.LOCALE;","export const ProfilerDataNode_loc = {\r\n 'Parent ID': { 'en-US': \"Parent ID\", 'it-IT': \"ID Padre\" },\r\n 'ID': { 'en-US': \"ID\", 'it-IT': \"ID\" },\r\n 'Description': { 'en-US': \"Description\", 'it-IT': \"Descrizione\" },\r\n 'Calls': { 'en-US': \"Calls\", 'it-IT': \"Chiamate\" },\r\n 'Time': { 'en-US': \"Time\", 'it-IT': \"Tempo\" },\r\n 'Peak Time': { 'en-US': \"Peak Time\", 'it-IT': \"Tempo Max\" },\r\n 'Min. Time': { 'en-US': \"Min. Time\", 'it-IT': \"Tempo Min\" },\r\n 'Avg. Time': { 'en-US': \"Avg. Time\", 'it-IT': \"Tempo Medio\" },\r\n 'Specific Time': { 'en-US': \"Specific Time\", 'it-IT': \"Tempo Specifico\" },\r\n 'Percentage': { 'en-US': \"Percentage\", 'it-IT': \"Percentuale\" },\r\n 'Calls for Period': { 'en-US': \"Calls for Period\", 'it-IT': \"Chiamate Periodo\" },\r\n 'Time for Period': { 'en-US': \"Time for Period\", 'it-IT': \"Tempo Periodo\" },\r\n 'Peak Time for Period': { 'en-US': \"Peak Time for Period\", 'it-IT': \"Tempo Max Periodo\" },\r\n 'Min. Time for Period': { 'en-US': \"Min. Time for Period\", 'it-IT': \"Tempo Min Periodo\" },\r\n 'Avg. Time for Period': { 'en-US': \"Avg. Time for Period\", 'it-IT': \"Tempo Medio Periodo\" },\r\n 'Specific Time for Period': { 'en-US': \"Specific Time for Period\", 'it-IT': \"Tempo Specifico Periodo\" },\r\n 'Percentage for Period': { 'en-US': \"Percentage for Period\", 'it-IT': \"Percentuale Periodo\" },\r\n 'Event Type Name': { 'en-US': \"Event Type Name\", 'it-IT': \"Nome Tipologia Evento\" },\r\n 'Wait Class Name': { 'en-US': \"Wait Class Name\", 'it-IT': \"Nome Classe Attesa\" }\r\n}","import { autoserialize } from \"cerialize\";\r\nimport { Export } from \"@esfaenza/extensions\";\r\n\r\nimport { Locale } from \"../shared/Locale\";\r\nimport { ProfilerDataNode_loc } from \"./ProfilerDataNode.loc\";\r\n\r\nexport class ProfilerDataNode {\r\n @Export(10, ProfilerDataNode_loc[\"Parent ID\"][Locale])\r\n @autoserialize parentid: string;\r\n @Export(20, ProfilerDataNode_loc[\"ID\"][Locale])\r\n @autoserialize id: string;\r\n @Export(30, ProfilerDataNode_loc[\"Description\"][Locale])\r\n @autoserialize description: string;\r\n @Export(40, ProfilerDataNode_loc[\"Calls\"][Locale])\r\n @autoserialize calls: number;\r\n @Export(50, ProfilerDataNode_loc[\"Time\"][Locale])\r\n @autoserialize time: number;\r\n @Export(60, ProfilerDataNode_loc[\"Peak Time\"][Locale])\r\n @autoserialize peaktime: number;\r\n @Export(70, ProfilerDataNode_loc[\"Min. Time\"][Locale])\r\n @autoserialize mintime: number;\r\n @Export(80, ProfilerDataNode_loc[\"Avg. Time\"][Locale])\r\n @autoserialize avgtime: number;\r\n @Export(90, ProfilerDataNode_loc[\"Specific Time\"][Locale])\r\n @autoserialize timewithoutchildren: number;\r\n @Export(100, ProfilerDataNode_loc[\"Percentage\"][Locale])\r\n @autoserialize percentage: number;\r\n @Export(110, ProfilerDataNode_loc[\"Calls for Period\"][Locale])\r\n @autoserialize snapdeltacalls: number;\r\n @Export(120, ProfilerDataNode_loc[\"Time for Period\"][Locale])\r\n @autoserialize snapdeltatime: number;\r\n @Export(130, ProfilerDataNode_loc[\"Peak Time for Period\"][Locale])\r\n @autoserialize snappeaktime: number;\r\n @Export(140, ProfilerDataNode_loc[\"Min. Time for Period\"][Locale])\r\n @autoserialize snapmintime: number;\r\n @Export(150, ProfilerDataNode_loc[\"Avg. Time for Period\"][Locale])\r\n @autoserialize snapavgtime: number;\r\n @Export(160, ProfilerDataNode_loc[\"Specific Time for Period\"][Locale])\r\n @autoserialize snaptimewithoutchildren: number;\r\n @Export(170, ProfilerDataNode_loc[\"Percentage for Period\"][Locale])\r\n @autoserialize snappercentage: number;\r\n @Export(180, ProfilerDataNode_loc[\"Event Type Name\"][Locale])\r\n @autoserialize eventtypename: string;\r\n @Export(190, ProfilerDataNode_loc[\"Wait Class Name\"][Locale])\r\n @autoserialize waitclassname: string;\r\n}","import { AppSearch } from \"@esfaenza/es-table\";\r\nimport { ProfilerDataNode } from \"./ProfilerDataNode\";\r\n\r\nexport class ProfilerDataNodesView extends AppSearch<ProfilerDataNode>{\r\n constructor() { super(); }\r\n\r\n filterfrom: string;\r\n filterto: string;\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\nimport { ADM_LOCALE } from \"../../tokens\";\r\n\r\n@Injectable()\r\nexport class AdmProfilerComponentLoc extends LocalizationService {\r\n constructor(@Inject(ADM_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n\r\n super.set(\"en->it\", \"Server Profiler\", [\"Profiler del Server\"]);\r\n super.set(\"en->it\", \"Loading Data\", [\"Carico i Dati\"]);\r\n super.set(\"en->it\", \"ID\", [\"ID\"]);\r\n super.set(\"en->it\", \"Description\", [\"Descrizione\"]);\r\n super.set(\"en->it\", \"Calls\", [\"Chiamate\"]);\r\n super.set(\"en->it\", \"Time\", [\"Tempo\"]);\r\n super.set(\"en->it\", \"Peak Time\", [\"Tempo Max\"]);\r\n super.set(\"en->it\", \"Min. Time\", [\"Tempo Min\"]);\r\n super.set(\"en->it\", \"Avg. Time\", [\"Tempo Medio\"]);\r\n super.set(\"en->it\", \"Specific Time\", [\"Tempo Specifico\"]);\r\n super.set(\"en->it\", \"Percentage\", [\"Percentuale\"]);\r\n super.set(\"en->it\", \"Calls for Period\", [\"Chiamate Periodo\"]);\r\n super.set(\"en->it\", \"Time for Period\", [\"Tempo Periodo\"]);\r\n super.set(\"en->it\", \"Peak Time for Period\", [\"Tempo Max Periodo\"]);\r\n super.set(\"en->it\", \"Min. Time for Period\", [\"Tempo Min Periodo\"]);\r\n super.set(\"en->it\", \"Avg. Time for Period\", [\"Tempo Medio Periodo\"]);\r\n super.set(\"en->it\", \"Specific Time for Period\", [\"Tempo Specifico Periodo\"]);\r\n super.set(\"en->it\", \"Percentage for Period\", [\"Percentuale Periodo\"]);\r\n super.set(\"en->it\", \"Event Type Name\", [\"Nome Tipologia Evento\"]);\r\n super.set(\"en->it\", \"Wait Class Name\", [\"Nome Classe Attesa\"]);\r\n }\r\n}","// Angular\r\nimport { Component, Inject } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\n\r\n// Configurazioni\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { PreferencesService } from \"@esfaenza/preferences\";\r\nimport { ExportService, InboundMessageTypes, InterComService } from \"@esfaenza/extensions\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\n\r\n// Applicazione\r\nimport { ProfilerDataNode } from \"../../models/components/ProfilerDataNode\";\r\nimport { ProfilerDataNodesView } from \"../../models/components/ProfilerDataNodesView\";\r\nimport { Repository } from \"../../models/externals/Repository\";\r\nimport { NodeStats } from \"../../models/components/NodeStats\";\r\n\r\nimport { ADM_BACKEND_URL, ADM_MODULE_PATH } from \"../../tokens\";\r\n\r\n// Localizzazione\r\nimport { AdmProfilerComponentLoc } from \"./adm_profiler.component.loc\";\r\nimport { HttpParams } from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: \"adm_profiler\",\r\n providers: [{ provide: LocalizationService, useClass: AdmProfilerComponentLoc }],\r\n templateUrl: \"./adm_profiler.component.html\"\r\n})\r\nexport class AdmProfilerComponent {\r\n public searchView: ProfilerDataNodesView = new ProfilerDataNodesView();\r\n public storageSub: any;\r\n\r\n public NodeDetails: NodeStats;\r\n \r\n constructor(\r\n private expExts: ExportService,\r\n public lc: LocalizationService,\r\n private localStorage: PreferencesService,\r\n private location: Location,\r\n private intercom: InterComService,\r\n private http: HTTPService,\r\n private route: ActivatedRoute,\r\n @Inject(ADM_BACKEND_URL) private backend: string,\r\n @Inject(ADM_MODULE_PATH) private mod: string) {\r\n\r\n this.intercom.send(InboundMessageTypes.Navigation, { sub: false, routeTitle: this.lc.loc(this.route.snapshot.data[\"title\"]) });\r\n }\r\n\r\n ngOnInit() {\r\n this.storageSub = this.route.queryParams.subscribe(params => {\r\n this.Init(params[\"ignoreStorage\"]);\r\n });\r\n }\r\n\r\n Init(ignoreStore) {\r\n this.doInit(ignoreStore);\r\n }\r\n\r\n async doInit(ignoreStorage) {\r\n let item = await this.localStorage.getItem<ProfilerDataNodesView>(\"HotSearchProfilato\").toPromise();\r\n if (!ignoreStorage && item) {\r\n this.init(item);\r\n } else {\r\n this.init(null);\r\n this.location.replaceState(`/pages/${this.mod}/profiler`);\r\n this.route.snapshot.queryParams = [];\r\n await this.localStorage.removeItem(\"HotSearchProfilato\").toPromise();\r\n }\r\n }\r\n\r\n init(HotPotato: ProfilerDataNodesView) {\r\n if (HotPotato) {\r\n this.searchView = HotPotato;\r\n this.POSTGetItems(this.backend + Repository[\"POST_Adm_GetProfilerDataNodes\"], this.searchView);\r\n }\r\n else {\r\n this.searchView = new ProfilerDataNodesView();\r\n this.sendSearch();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.storageSub)\r\n this.storageSub.unsubscribe();\r\n }\r\n\r\n sendSearch(resetPage: boolean = true) {\r\n this.searchView.searchinprogress = true;\r\n if (resetPage)\r\n this.searchView.page = 1;\r\n\r\n this.POSTGetItems(this.backend + Repository[\"POST_Adm_GetProfilerDataNodes\"], this.searchView);\r\n }\r\n\r\n POSTGetItems(url: string, data: ProfilerDataNodesView) {\r\n this.http.post<ProfilerDataNodesView>(url, data).subscribe(t => {\r\n this.searchView = t;\r\n this.searchView.searchinprogress = false;\r\n this.localStorage.setItem(\"HotSearchProfilato\", this.searchView).subscribe();\r\n });\r\n }\r\n\r\n prepareExport(dataCallBack) {\r\n var view = JSON.parse(JSON.stringify(this.searchView));\r\n view.page = 1;\r\n view.itemsperpageoverride = 9999999;\r\n this.http.post<ProfilerDataNodesView>(this.backend + Repository[\"POST_Adm_GetProfilerDataNodes\"], view).subscribe(t => {\r\n let items: ProfilerDataNode[] = this.expExts.deserializeForExport(t.items, ProfilerDataNode);\r\n dataCallBack(items);\r\n });\r\n }\r\n\r\n loadNodeDetails(nodeId: string) {\r\n this.NodeDetails = null;\r\n let pars = new HttpParams().set('nodeId', nodeId);\r\n this.http.get<NodeStats>(this.backend + Repository.GET_Adm_GetNodeStats, pars).subscribe(t => {\r\n this.NodeDetails = t;\r\n });\r\n }\r\n}","import { AppSearch } from \"@esfaenza/es-table\";\r\nimport { TopActivity } from \"./TopActivity\";\r\n\r\nexport class TopActivitiesDataView extends AppSearch<TopActivity>{\r\n constructor() { super(); }\r\n\r\n filterfrom: string;\r\n filterto: string;\r\n filterrealtime: boolean;\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\nimport { ADM_LOCALE } from \"../../tokens\";\r\n\r\n@Injectable()\r\nexport class AdmTopActivitieLoc extends LocalizationService {\r\n constructor(@Inject(ADM_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n super.set(\"en->it\", \"Active Sessions\", [\"Sessioni Attive\"]);\r\n super.set(\"en->it\", \"Top Nodes\", [\"Prime Istruzioni\"]);\r\n super.set(\"en->it\", \"Top Sessions\", [\"Prime Sessioni\"]);\r\n super.set(\"en->it\", \"Loading Data\", [\"Carico i Dati\"]);\r\n super.set(\"en->it\", \"Top Activities\", [\"Attivita' Principali\"]);\r\n super.set(\"en->it\", \"Node Description\", [\"Descrizione Nodo\"]);\r\n super.set(\"en->it\", \"Node\", [\"Nodo\"]);\r\n super.set(\"en->it\", \"Activity\", [\"Attivita'\"]);\r\n super.set(\"en->it\", \"Limit\", [\"Limite\"]);\r\n super.set(\"en->it\", \"Node Type\", [\"Tipo Nodo\"]);\r\n super.set(\"en->it\", \"User\", [\"Utente\"]);\r\n super.set(\"en->it\", \"Tenant\", [\"Tenant\"]);\r\n super.set(\"en->it\", \"Process\", [\"Processo\"]);\r\n super.set(\"en->it\", \"Update every\", [\"Aggiorna ogni\"]);\r\n super.set(\"en->it\", \"second/s\", [\"secondo/i\"]);\r\n super.set(\"en->it\", \"Maximum Threads\", [\"Thread Massimi\"]);\r\n super.set(\"en->it\", \"CPUs\", [\"CPU\"]);\r\n super.set(\"en->it\", \"Wait Class Name\", [\"Nome Classe Attesa\"]);\r\n\r\n super.set(\"it->en\", \"Seriale\", [\"Serial\"]);\r\n super.set(\"it->en\", \"Stato\", [\"Status\"]);\r\n super.set(\"it->en\", \"Tipo\", [\"Type\"]);\r\n super.set(\"it->en\", \"Utente\", [\"User\"]);\r\n super.set(\"it->en\", \"Dettaglio Sessione\", [\"Session Detail\"]);\r\n super.set(\"it->en\", \"Chiudi\", [\"Close\"]);\r\n super.set(\"en->it\", \"CPU\", [\"CPU\"]);\r\n }\r\n}","// Angular\r\nimport { Component, Inject } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\n\r\n// Configurazioni\r\nimport { BaseChartComponent, DateValue, KeyValueColor, Limit, LineChartData, LineSerie, PieChartData } from \"@esfaenza/es-charts\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { PreferencesService } from \"@esfaenza/preferences\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\nimport { ItemsSelection } from \"@esfaenza/es-table\";\r\nimport { DateService, InboundMessageTypes, InterComService } from \"@esfaenza/extensions\";\r\n\r\n// Direttive, Componenti, Librerie\r\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\r\nimport { map, takeUntil } from \"rxjs/operators\";\r\n\r\n// Modelli\r\nimport { DirectorInfos } from \"../../models/components/DirectorInfos\";\r\nimport { Repository } from \"../../models/externals/Repository\";\r\nimport { TopActivitiesDataView } from \"../../models/components/TopActivitiesDataView\";\r\nimport { TopNode } from \"../../models/components/TopNode\";\r\nimport { TopSession } from \"../../models/components/TopSession\";\r\nimport { NodeStats } from \"../../models/components/NodeStats\";\r\n\r\nimport { SessionStats } from \"../../models/components/SessionStats\";\r\nimport { ActiveSession } from \"../../models/components/ActiveSession\";\r\nimport { SessionThread } from \"../../models/components/SessionThread\";\r\n\r\n// Applicazione\r\nimport { ADM_BACKEND_URL, ADM_MODULE_PATH } from \"../../tokens\";\r\n\r\n// Localizzazione\r\nimport { AdmTopActivitieLoc } from \"./topact_search.component.loc\";\r\nimport { HttpParams } from \"@angular/common/http\";\r\nimport { ReplaySubject, interval } from \"rxjs\";\r\nimport { Dayjs } from \"dayjs\";\r\n\r\n@Component({\r\n selector: \"topact_search\",\r\n providers: [{ provide: LocalizationService, useClass: AdmTopActivitieLoc }],\r\n templateUrl: \"./topact_search.component.html\"\r\n})\r\nexport class AdmTopActivitiesComponent {\r\n public searchView: TopActivitiesDataView = new TopActivitiesDataView();\r\n public storageSub: any;\r\n private LastDataPoint: any;\r\n\r\n public autoUpdate: boolean = false;\r\n public seconds: string = \"5\";\r\n\r\n private ChartInstance: BaseChartComponent;\r\n public NodeDetails: NodeStats;\r\n\r\n private rtWindow: { from: Dayjs, to: Dayjs } = null;\r\n\r\n protected destroyed$: ReplaySubject<boolean> = new ReplaySubject(1);\r\n \r\n constructor(\r\n public dateExts: DateService,\r\n public lc: LocalizationService,\r\n private localStorage: PreferencesService,\r\n private location: Location,\r\n private intercom: InterComService,\r\n private http: HTTPService,\r\n private route: ActivatedRoute,\r\n @Inject(ADM_BACKEND_URL) private backend: string,\r\n @Inject(ADM_MODULE_PATH) private mod: string) {\r\n\r\n this.intercom.send(InboundMessageTypes.Navigation, { sub: false, routeTitle: this.lc.loc(this.route.snapshot.data[\"title\"]) });\r\n }\r\n\r\n ngOnInit() {\r\n\r\n // Ogni minuto calcolo qual è la finestra del realTime\r\n interval(60 * 1000).pipe(takeUntil(this.destroyed$)).subscribe(_ => {\r\n this.updateRealTimeWindow();\r\n });\r\n\r\n this.storageSub = this.route.queryParams.subscribe(params => {\r\n this.Init(params[\"ignoreStorage\"]);\r\n });\r\n }\r\n\r\n async updateRealTimeWindow() {\r\n let data = new TopActivitiesDataView();\r\n data = await this.http.post<TopActivitiesDataView>(this.backend + Repository.POST_Adm_GetTopActivities, data).toPromise();\r\n let reference = data.items[0];\r\n for (let i = 0; i < reference.actsessions.length; i++) {\r\n let itemref = reference.actsessions[i];\r\n let theD = this.dateExts.getDateConvertion(itemref.sampletime);\r\n\r\n if (!this.rtWindow)\r\n this.rtWindow = { from: theD, to: theD };\r\n else {\r\n if (theD.isBefore(this.rtWindow.from))\r\n this.rtWindow.from = theD;\r\n if (theD.isAfter(this.rtWindow.to))\r\n this.rtWindow.to = theD;\r\n }\r\n }\r\n }\r\n\r\n Init(ignoreStore) {\r\n this.doInit(ignoreStore);\r\n }\r\n\r\n async doInit(ignoreStorage) {\r\n let item = await this.localStorage.getItem<TopActivitiesDataView>(\"HotSearchTopAct\").toPromise();\r\n if (!ignoreStorage && item) {\r\n this.init(item);\r\n } else {\r\n this.init(null);\r\n this.location.replaceState(`/pages/${this.mod}/topact`);\r\n this.route.snapshot.queryParams = [];\r\n await this.localStorage.removeItem(\"HotSearchTopAct\").toPromise();\r\n }\r\n }\r\n\r\n init(HotPotato: TopActivitiesDataView) {\r\n if (HotPotato) {\r\n this.searchView = HotPotato;\r\n this.POSTGetItems(this.backend + Repository.POST_Adm_GetTopActivities, this.searchView, false);\r\n }\r\n else {\r\n this.searchView = new TopActivitiesDataView();\r\n this.sendSearch();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroyed$.next(true);\r\n this.destroyed$.complete();\r\n\r\n if (this.storageSub)\r\n this.storageSub.unsubscribe();\r\n }\r\n\r\n async sendSearch(resetPage: boolean = true, update: boolean = false, searchViewOverride: TopActivitiesDataView = null) {\r\n let sv = searchViewOverride ?? this.searchView;\r\n if ((sv.filterfrom || sv.filterto) && !this.rtWindow)\r\n await this.updateRealTimeWindow();\r\n\r\n let dateRequestOnRealtimeWindow: boolean =\r\n sv.filterfrom && this.dateExts.getDateConvertion(sv.filterfrom).isAfter(this.rtWindow.from) &&\r\n sv.filterto && this.dateExts.getDateConvertion(sv.filterto).isBefore(this.rtWindow.to);\r\n\r\n sv.filterrealtime = dateRequestOnRealtimeWindow;\r\n sv.searchinprogress = true;\r\n\r\n this.POSTGetItems(this.backend + Repository.POST_Adm_GetTopActivities, sv, update);\r\n }\r\n\r\n POSTGetItems(url: string, data: TopActivitiesDataView, update: boolean) {\r\n\r\n this.http.post<TopActivitiesDataView>(url, data).subscribe(async (t) => {\r\n //Se sono in modalità di update non devo toccare la searchView attuale se non per il searchinprogress che viene messo dall'es table\r\n if (!update) {\r\n this.searchView = t;\r\n this.localStorage.setItem(\"HotSearchTopAct\", this.searchView).subscribe();\r\n }\r\n var dirinfos = await this.getDirectorInfos();\r\n this.searchView.searchinprogress = false;\r\n this.reviewBindings(update, t, dirinfos);\r\n });\r\n }\r\n\r\n getDirectorInfos(): Promise<DirectorInfos> {\r\n return this.http.get<DirectorInfos>(this.backend + Repository.GET_Adm_GetInfos).pipe(map(res => { return res; })).toPromise();\r\n }\r\n\r\n loadNodeDetails(nodeId: string) {\r\n this.NodeDetails = null;\r\n let pars = new HttpParams().set('nodeId', nodeId);\r\n this.http.get<NodeStats>(this.backend + Repository.GET_Adm_GetNodeStats, pars).subscribe(t => {\r\n this.NodeDetails = t;\r\n });\r\n }\r\n\r\n // **************************************************** Trasformazione da searchview con unico elemento con tutto ai 3 elementi:\r\n // **************************************************** Grafico, TopNodes e TopSessions\r\n TopActiveSessions: LineChartData;\r\n TopNodes: TopNode[];\r\n TopSessions: TopSession[];\r\n DirInfos: DirectorInfos;\r\n seriesPropertiesMapping: { [index: string]: LineSerie } = {};\r\n propertiesSeriesMapping: { [index: string]: string } = {\r\n [\"cputime\"]: \"CPU\",\r\n [\"waittime\"]: \"Wait\",\r\n [\"scripttime\"]: \"Scripting\",\r\n [\"dbtime\"]: \"DB\",\r\n [\"nettime\"]: \"Network\",\r\n [\"throttletime\"]: \"Throttling\",\r\n [\"sleeptime\"]: \"Sleep\",\r\n [\"iotime\"]: \"IO\"\r\n };\r\n\r\n reviewBindings(update: boolean, searchViewOverride?, dirInfos?: DirectorInfos) {\r\n let reference = (searchViewOverride ?? this.searchView).items[0];\r\n this.TopNodes = reference.topnodes;\r\n this.TopSessions = reference.topsessions;\r\n this.DirInfos = dirInfos;\r\n\r\n if (!reference.actsessions || reference.actsessions.length == 0) {\r\n this.TopActiveSessions = null;\r\n return;\r\n }\r\n\r\n let series: LineSerie[] = [];\r\n let props = Object.keys(reference.actsessions[0]);\r\n for (let i = 0; i < props.length; i++) {\r\n if (props[i] != 'sampletime') {\r\n let s = new LineSerie(this.propertiesSeriesMapping[props[i]], [], null, null, \"sessions\");\r\n series.push(s);\r\n this.seriesPropertiesMapping[props[i]] = s;\r\n }\r\n }\r\n\r\n for (let i = 0; i < reference.actsessions.length; i++) {\r\n let itemref = reference.actsessions[i];\r\n let theD = new Date(itemref.sampletime);\r\n\r\n for (let i = 0; i < props.length; i++)\r\n if (props[i] != 'sampletime' && (!update || this.dateExts.getDateConvertion(theD).isAfter(this.LastDataPoint)))\r\n this.seriesPropertiesMapping[props[i]].values.push(new DateValue(theD, itemref[props[i]]));\r\n }\r\n\r\n if (update && this.ChartInstance) {\r\n let data = new LineChartData(series, new Limit(dirInfos?.threads, this.lc.loc(\"Maximum Threads\")));\r\n if (series.some(t => t.values.length > 0)) {\r\n this.ChartInstance.addData(data);\r\n this.LastDataPoint = series.map(t => dayjs.max(t.values.map(v => this.dateExts.getDateConvertion(v.d))))[0];\r\n }\r\n }\r\n else {\r\n this.TopActiveSessions = new LineChartData(series, new Limit(dirInfos?.threads, this.lc.loc(\"Maximum Threads\")));\r\n this.LastDataPoint = series.map(t => dayjs.max(t.values.map(v => this.dateExts.getDateConvertion(v.d))))[0];\r\n }\r\n }\r\n\r\n // #region Gestione update automatico\r\n updateTimer: any;\r\n autoUpdateChanged() {\r\n if (!/^[1-9]\\d*$/.test(this.seconds))\r\n this.seconds = '10';\r\n const secondsInMs = parseInt(this.seconds, null) * 1000;\r\n if (this.autoUpdate) {\r\n this.sendSearch(false, true);\r\n this.updateTimer = setInterval(() => { this.sendSearch(false, true); }, secondsInMs);\r\n }\r\n else\r\n clearInterval(this.updateTimer);\r\n }\r\n // #endregion\r\n\r\n private from: Date;\r\n private to: Date;\r\n\r\n dataSelectionChanged(event: { from: Date, to: Date, initial: boolean }) {\r\n this.from = event.initial ? (this.searchView.filterfrom ? this.dateExts.getDateConvertion(this.searchView.filterfrom).toDate() : \"\") : event.from;\r\n this.to = event.initial ? (this.searchView.filterto ? this.dateExts.getDateConvertion(this.searchView.filterto).toDate() : \"\") : event.to;\r\n\r\n var pseudoSearchView: TopActivitiesDataView = JSON.parse(JSON.stringify(this.searchView));\r\n pseudoSearchView.filterfrom = this.from ? dayjs(this.from).format(this.lc.token(\"getFullDateDisplayFormat\")) : \"\";\r\n pseudoSearchView.filterto = this.to ? dayjs(this.to).format(this.lc.token(\"getFullDateDisplayFormat\")) : \"\";\r\n this.sendSearch(true, true, pseudoSearchView);\r\n }\r\n\r\n onChartLoaded(chart: BaseChartComponent, overwriteInstance: boolean = true) {\r\n if(overwriteInstance)\r\n this.ChartInstance = chart;\r\n\r\n chart.Chart.events.on(\"ready\", () => {\r\n (<am4charts.XYChart>chart.Chart).xAxes.each(x => x.zoom({ start: 0, end: 1 }, true, true));\r\n (<am4charts.XYChart>chart.Chart).yAxes.each(y => y.zoom({ start: 0, end: 1 }, true, true));\r\n setTimeout(() => {\r\n (<am4charts.XYChart>chart.Chart).xAxes.each(x => x.zoom({ start: 0, end: 1 }, true, true));\r\n (<am4charts.XYChart>chart.Chart).yAxes.each(y => y.zoom({ start: 0, end: 1 }, true, true));\r\n\r\n // 500 millisecondi è più o meno il tempo di prima animazione del grafico. Finito questo si resetta lo zoom\r\n }, 500);\r\n });\r\n }\r\n\r\n // **************************************************** Gestione dettaglio sessione\r\n\r\n SessionDetails: SessionStats;\r\n SelectedTopNodes: TopNode[];\r\n SelectedSessions: LineChartData;\r\n\r\n seriesPropertiesMapping2: { [index: string]: LineSerie } = {};\r\n\r\n loadSessionDetails(sessionId: number, serialNo: number) {\r\n this.SessionDetails = null;\r\n let pars = new HttpParams().set('sid', sessionId.toString()).set('serial', serialNo.toString());\r\n this.http.get<SessionStats>(Repository.GET_Adm_GetSessionStats, pars).subscribe(t => {\r\n this.SessionDetails = t;\r\n this.threadSelectionChanged(null);\r\n });\r\n }\r\n\r\n threadSelectionChanged(selection?: ItemsSelection<SessionThread>) {\r\n this.SelectedTopNodes = null;\r\n this.SelectedSessions = null;\r\n\r\n requestAnimationFrame(() => {\r\n let sessDet = (selection?.count || 0) ? selection.items[0] : this.SessionDetails;\r\n\r\n this.SelectedTopNodes = sessDet.nodes;\r\n\r\n let series: LineSerie[] = []; \r\n let props = Object.keys(sessDet.sessions[0]);\r\n for (let i = 0; i < props.length; i++) {\r\n if (props[i] != 'sampletime') {\r\n let s = new LineSerie(this.propertiesSeriesMapping[props[i]], [], null, null, \"sessions\");\r\n series.push(s);\r\n this.seriesPropertiesMapping2[props[i]] = s;\r\n }\r\n }\r\n \r\n for (let i = 0; i < sessDet.sessions.length; i++) {\r\n let itemref = sessDet.sessions[i];\r\n let theD = new Date(itemref.sampletime);\r\n \r\n for (let i = 0; i < props.length; i++)\r\n if (props[i] != 'sampletime')\r\n this.seriesPropertiesMapping2[props[i]].values.push(new DateValue(theD, itemref[props[i]]));\r\n }\r\n\r\n this.SelectedSessions = new LineChartData(series);\r\n\r\n });\r\n }\r\n}","import { AppSearch, GenericItem } from \"@esfaenza/es-table\";\r\n\r\nexport class LocksView extends AppSearch<GenericItem>{\r\n constructor() { super(); }\r\n\r\n filtersid: string;\r\n filterlock: string;\r\n filterglobal: boolean;\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\nimport { ADM_LOCALE } from \"../../tokens\";\r\n\r\n@Injectable()\r\nexport class AdmEnqLoc extends LocalizationService {\r\n constructor(@Inject(ADM_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n super.set(\"en->it\", \"Search Application Locks\", [\"Ricerca Lock Applicativi\"]);\r\n super.set(\"en->it\", \"Name\", [\"Nome\"]);\r\n super.set(\"en->it\", \"Loading Application Locks\", [\"Carico i Lock Applicativi\"]);\r\n super.set(\"en->it\", \"Global\", [\"Globale\"]);\r\n }\r\n}","// Angular\r\nimport { Component, Inject } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\n\r\n// Configurazioni\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { PreferencesService } from \"@esfaenza/preferences\";\r\nimport { ExportService, InboundMessageTypes, InterComService } from \"@esfaenza/extensions\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\n\r\n// Applicazione\r\nimport { LocksView } from \"../../models/components/LocksView\";\r\nimport { Repository } from \"../../models/externals/Repository\";\r\nimport { ADM_BACKEND_URL, ADM_MODULE_PATH } from \"../../tokens\";\r\n\r\n// Localizzazione\r\nimport { AdmEnqLoc } from \"./adm_enq.component.loc\";\r\n\r\n@Component({\r\n selector: \"adm_enq\",\r\n viewProviders: [{ provide: LocalizationService, useClass: AdmEnqLoc }],\r\n templateUrl: \"./adm_enq.component.html\"\r\n})\r\nexport class AdmEnqComponent {\r\n public locksView: LocksView = new LocksView();\r\n public storageSub: any;\r\n\r\n constructor(\r\n public lc: LocalizationService,\r\n private localStorage: PreferencesService,\r\n public expExts: ExportService,\r\n private intercom: InterComService,\r\n private http: HTTPService,\r\n private route: ActivatedRoute,\r\n private location: Location,\r\n @Inject(ADM_BACKEND_URL) private backend: string,\r\n @Inject(ADM_MODULE_PATH) private mod: string) {\r\n\r\n this.intercom.send(InboundMessageTypes.Navigation, { sub: false, routeTitle: this.lc.loc(this.route.snapshot.data[\"title\"]) });\r\n }\r\n\r\n ngOnInit() {\r\n this.storageSub = this.route.queryParams.subscribe(params => { this.Init(params[\"ignoreStorage\"]); });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.storageSub)\r\n this.storageSub.unsubscribe();\r\n }\r\n\r\n async Init(ignoreStorage) {\r\n let item = await this.localStorage.getItem<LocksView>(\"HotEnqueue\").toPromise();\r\n if (!ignoreStorage && item) {\r\n this.init(item);\r\n } else {\r\n this.init(null);\r\n this.location.replaceState(`/pages/${this.mod}/serverenqueues`);\r\n this.route.snapshot.queryParams = [];\r\n await this.localStorage.removeItem(\"HotEnqueue\").toPromise();\r\n }\r\n }\r\n\r\n init(HotPotato: LocksView) {\r\n if (HotPotato) {\r\n this.locksView = HotPotato;\r\n this.POSTGetProcesses(this.backend + Repository[\"POST_Adm_GetServerLocks\"], this.locksView);\r\n }\r\n else {\r\n this.locksView = new LocksView();\r\n this.sendSearch();\r\n }\r\n }\r\n\r\n sendSearch(resetPage: boolean = true) {\r\n if (resetPage)\r\n this.locksView.page = 1;\r\n\r\n this.POSTGetProcesses(this.backend + Repository[\"POST_Adm_GetServerLocks\"], this.locksView);\r\n }\r\n\r\n POSTGetProcesses(url: string, data: LocksView) {\r\n this.http.post<LocksView>(url, data).subscribe(t => {\r\n this.locksView = t;\r\n this.localStorage.setItem(\"HotEnqueue\", this.locksView).subscribe();\r\n });\r\n }\r\n}","import { AppSearch } from \"@esfaenza/es-table\";\r\nimport { Metric } from \"./Metric\";\r\n\r\nexport class MetricsView extends AppSearch<Metric> {\r\n constructor() { super(); }\r\n\r\n filterfrom: string;\r\n filterto: string;\r\n filtersid: string;\r\n filterserial: string;\r\n filtermetrics: string[];\r\n filterrealtime: boolean;\r\n fitlerinstance: string;\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\nimport { ADM_LOCALE } from \"../../tokens\";\r\n\r\n@Injectable()\r\nexport class AdmMetricsLoc extends LocalizationService {\r\n constructor(@Inject(ADM_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n super.set(\"en->it\", \"System Metrics\", [\"Metriche di Sistema\"]);\r\n super.set(\"en->it\", \"Session ID\", [\"Cod. Sessione\"]);\r\n super.set(\"en->it\", \"Session Serial\", [\"Seriale Sessione\"]);\r\n super.set(\"en->it\", \"Filter Metrics...\", [\"Filtra Metriche...\"]);\r\n super.set(\"en->it\", \"Loading Data\", [\"Carico i Dati\"]);\r\n super.set(\"en->it\", \"Update every\", [\"Aggiorna ogni\"]);\r\n super.set(\"en->it\", \"second/s\", [\"secondo/i\"]);\r\n super.set(\"en->it\", \"Metrics Instance\", [\"Istanza Metriche\"]);\r\n }\r\n}","// Angular\r\nimport { HttpParams } from \"@angular/common/http\";\r\nimport { Component, Inject } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\n\r\n// Configurazioni\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { PreferencesService } from \"@esfaenza/preferences\";\r\nimport { BaseChartComponent } from \"@esfaenza/es-charts\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\nimport { DateService, InboundMessageTypes, InterComService } from \"@esfaenza/extensions\";\r\n\r\n// Applicazione\r\nimport { KeyValue } from \"../../models/shared/KeyValue\";\r\nimport { Metric } from \"../../models/components/Metric\";\r\nimport { MetricChart } from \"../../models/components/MetricChart\";\r\nimport { MetricsView } from \"../../models/components/MetricsView\";\r\nimport { Repository } from \"../../models/externals/Repository\";\r\nimport { ADM_BACKEND_URL, ADM_MODULE_PATH } from \"../../tokens\";\r\n\r\n// Localizzazione\r\nimport { AdmMetricsLoc } from \"./metrics_search.component.loc\";\r\n\r\n@Component({\r\n selector: \"metrics_search\",\r\n providers: [{ provide: LocalizationService, useClass: AdmMetricsLoc }],\r\n templateUrl: \"./metrics_search.component.html\"\r\n})\r\nexport class AdmMetricsComponent {\r\n\r\n public Metrics: Metric[];\r\n private MetricsChartCache: { [name: string]: { chart: BaseChartComponent, lastTs: Date } } = {};\r\n\r\n public searchView: MetricsView = new MetricsView();\r\n public storageSub: any;\r\n\r\n public autoUpdate: boolean = false;\r\n public seconds: string = \"5\";\r\n\r\n constructor(\r\n public dateExts: DateService,\r\n public lc: LocalizationService,\r\n private localStorage: PreferencesService,\r\n private location: Location,\r\n private intercom: InterComService,\r\n private http: HTTPService,\r\n private route: ActivatedRoute,\r\n @Inject(ADM_BACKEND_URL) private backend: string,\r\n @Inject(ADM_MODULE_PATH) private mod: string) {\r\n\r\n this.intercom.send(InboundMessageTypes.Navigation, { sub: false, routeTitle: this.lc.loc(this.route.snapshot.data[\"title\"]) });\r\n }\r\n\r\n ngOnInit() {\r\n this.storageSub = this.route.queryParams.subscribe(params => {\r\n this.Init(params[\"ignoreStorage\"]);\r\n });\r\n }\r\n\r\n Init(ignoreStore) {\r\n this.doInit(ignoreStore);\r\n }\r\n\r\n dateChanged() {\r\n // Pulizia di tutti i parametri di ricerca dipendenti dalle date\r\n this.metricsToShow = [];\r\n this.Metrics = [];\r\n this.instanceRequired = false;\r\n this.Instances = [];\r\n this.selectedInstance = \"\";\r\n this.searchView.filtermetrics = [];\r\n\r\n var pars = new HttpParams().set(\"from\", this.searchView.filterfrom || \"\").set(\"to\", this.searchView.filterto || \"\")\r\n this.http.get<Metric[]>(this.backend + Repository[\"GET_Adm_GetMetrics\"], pars).subscribe(t => this.Metrics = t.sort((a, b) => a.name.localeCompare(b.name)));\r\n }\r\n\r\n async doInit(ignoreStorage) {\r\n let item = await this.localStorage.getItem<MetricsView>(\"HotSearchMetrics\").toPromise();\r\n if (!ignoreStorage && item) {\r\n this.init(item);\r\n } else {\r\n this.init(null);\r\n this.location.replaceState(`/pages/${this.mod}/metrics`);\r\n this.route.snapshot.queryParams = [];\r\n await this.localStorage.removeItem(\"HotSearchMetrics\").toPromise();\r\n }\r\n }\r\n\r\n init(HotPotato: MetricsView) {\r\n if (HotPotato) {\r\n this.searchView = HotPotato;\r\n this.POSTGetItems(this.backend + Repository[\"POST_Adm_GetMetrics\"], this.searchView, false);\r\n }\r\n else {\r\n this.searchView = new MetricsView();\r\n this.sendSearch();\r\n }\r\n this.dateChanged();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.storageSub)\r\n this.storageSub.unsubscribe();\r\n }\r\n\r\n sendSearch(resetPage: boolean = true, update: boolean = false, searchViewOverride: MetricsView = null) {\r\n if (!update)\r\n this.MetricsChartCache = {};\r\n\r\n this.searchView.searchinprogress = true;\r\n // Questa ricerca prende i nomi distinct delle metriche quindi devo prendere tutto per forza\r\n this.searchView.itemsperpageoverride = 999999;\r\n if (resetPage)\r\n this.searchView.page = 1;\r\n\r\n this.POSTGetItems(this.backend + Repository[\"POST_Adm_GetMetrics\"], searchViewOverride ?? this.searchView, update);\r\n }\r\n\r\n public Instances: KeyValue[] = []\r\n public selectedInstance = \"\";\r\n public instanceRequired: boolean = false;\r\n public metricsToShow: Metric[] = [];\r\n\r\n POSTGetItems(url: string, data: MetricsView, update: boolean) {\r\n data.filterrealtime = update ? data.filterrealtime : !(!!data.filterfrom || !!data.filterto);\r\n\r\n this.http.post<MetricsView>(url, data).subscribe(async (t) => {\r\n //Se sono in modalità di update non devo toccare la searchView attuale se non per il searchinprogress che viene messo dall'es table\r\n if (!update) {\r\n this.selectedInstance = \"\";\r\n this.metricsToShow = [];\r\n this.searchView = t;\r\n this.searchView.items.forEach(m => {\r\n if (m.instance && !this.Instances.find(t => t.id == m.instance))\r\n this.Instances.push(new KeyValue(m.instance, m.instance));\r\n });\r\n this.instanceRequired = this.Instances.length > 1;\r\n if (this.Instances.length == 1) {\r\n this.selectedInstance = this.Instances[0].id;\r\n this.instanceSelected();\r\n }\r\n else\r\n this.instanceSelected(true);\r\n this.localStorage.setItem(\"HotSearchMetrics\", this.searchView).subscribe();\r\n }\r\n else {\r\n // Per ogni grafico di ogni metrica aggiungo tutti i valori che sono DOPO all'ultimo ts registrato per quel grafico\r\n t.items.forEach(m => {\r\n m.values.forEach(c => {\r\n let refm = this.MetricsChartCache[this.metricKey(m, c)];\r\n if (refm) {\r\n c.series.forEach(s => { s.values = s.values.filter(v => this.dateExts.getDateConvertion(v.d).isAfter(refm.lastTs)); });\r\n if (c.series.some(t => t.values.length > 0)) {\r\n refm.lastTs = c.series.map(t => dayjs.max(t.values.map(v => this.dateExts.getDateConvertion(v.d))))[0];\r\n refm.chart.addData(c);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n this.searchView.searchinprogress = false;\r\n });\r\n }\r\n\r\n instanceSelected(allowNull: boolean = false) {\r\n if (!this.selectedInstance && !allowNull)\r\n return;\r\n\r\n this.metricsToShow = this.searchView.items.filter(t => !this.selectedInstance || (t.instance == this.selectedInstance));\r\n }\r\n\r\n linkChartToMetric(metric: Metric, metricChart: MetricChart, chartComp: BaseChartComponent) {\r\n this.MetricsChartCache[this.metricKey(metric, metricChart)] = { chart: chartComp, lastTs: metricChart.series.map(t => dayjs.max(t.values.map(v => this.dateExts.getDateConvertion(v.d))))[0] };\r\n }\r\n\r\n private metricKey(metric: Metric, value: MetricChart): string {\r\n return metric.name + \" - \" + value.xtitle + (metric.instance ? \" - \" + metric.instance : \"\");\r\n }\r\n\r\n // #region Gestione update automatico\r\n updateTimer: any;\r\n autoUpdateChanged() {\r\n if (!/^[1-9]\\d*$/.test(this.seconds))\r\n this.seconds = '10';\r\n const secondsInMs = parseInt(this.seconds, null) * 1000;\r\n if (this.autoUpdate) {\r\n this.sendSearch(false, true);\r\n this.updateTimer = setInterval(() => { this.sendSearch(false, true); }, secondsInMs);\r\n }\r\n else\r\n clearInterval(this.updateTimer);\r\n }\r\n // #endregion\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\nimport { ADM_LOCALE } from \"../../tokens\";\r\n\r\n@Injectable()\r\nexport class AdmLogsLoc extends LocalizationService {\r\n constructor(@Inject(ADM_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n super.set(\"en->it\", \"Server Logs\", [\"Log del Server\"]);\r\n }\r\n}","// Angular\r\nimport { Component, Inject } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\n\r\n// Configurazioni\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\nimport { InboundMessageTypes, InterComService } from \"@esfaenza/extensions\";\r\n\r\n// Applicazione\r\nimport { ADM_BACKEND_URL } from \"../../tokens\";\r\nimport { Repository } from \"../../models/externals/Repository\";\r\n\r\n// Localizzazione\r\nimport { AdmLogsLoc } from \"./adm_logs.component.loc\";\r\n\r\n@Component({\r\n selector: \"adm_logs\",\r\n viewProviders: [{ provide: LocalizationService, useClass: AdmLogsLoc }],\r\n templateUrl: \"./adm_logs.component.html\"\r\n})\r\nexport class AdmLogsComponent {\r\n public Log: string;\r\n\r\n constructor(\r\n private intercom: InterComService,\r\n private http: HTTPService,\r\n private lc: LocalizationService,\r\n private route: ActivatedRoute,\r\n @Inject(ADM_BACKEND_URL) private backend: string) {\r\n\r\n this.intercom.send(InboundMessageTypes.Navigation, { sub: false, routeTitle: this.lc.loc(this.route.snapshot.data[\"title\"]) });\r\n }\r\n\r\n ngOnInit() {\r\n this.http.get<string>(this.backend + Repository[\"GET_Adm_GetServerLogs\"]).subscribe(t => { this.Log = t; });\r\n }\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\nimport { ADM_LOCALE } from \"../../tokens\";\r\n\r\n@Injectable()\r\nexport class NodeDetailLoc extends LocalizationService {\r\n constructor(@Inject(ADM_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n\r\n super.set(\"en->it\", \"Active Sessions\", [\"Sessioni Attive\"]);\r\n super.set(\"en->it\", \"Activity Node Details\", [\"Dettaglio Attività Nodo\"]);\r\n super.set(\"en->it\", \"Event Type\", [\"Tipo Evento\"]);\r\n super.set(\"en->it\", \"Elapsed (With Children)\", [\"Tempo Trascorso (Con Figli)\"]);\r\n super.set(\"en->it\", \"Wait Class\", [\"Classe Attesa\"]);\r\n super.set(\"en->it\", \"Elapsed (No Children)\", [\"Tempo Trascorso\"]);\r\n super.set(\"en->it\", \"Wait Stack\", [\"Stack di Attesa\"]);\r\n super.set(\"en->it\", \"Resources Usage\", [\"Utilizzo Risorse\"]);\r\n super.set(\"en->it\", \"Executions\", [\"Esecuzioni\"]);\r\n\t\tsuper.set(\"en->it\", \"Event detail\", [\"Dettaglio evento\"]);\r\n }\r\n}","// Angular\r\nimport { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\nimport { KeyValueColor, LineChartData, LineSerie, PieChartData } from \"@esfaenza/es-charts\";\r\n\r\n// Configurazioni\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\n// Applicazione\r\nimport { NodeStats } from \"../../models/components/NodeStats\";\r\n\r\n// Localizzazione\r\nimport { NodeDetailLoc } from \"./node_detail.component.loc\";\r\n\r\n@Component({\r\n selector: \"node-detail\",\r\n viewProviders: [{ provide: LocalizationService, useClass: NodeDetailLoc }],\r\n templateUrl: \"./node_detail.component.html\"\r\n})\r\nexport class NodeDetailComponent {\r\n\r\n @Input() NodeDetails: NodeStats;\r\n\r\n @Output() onClose: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n \r\n constructor(public lc: LocalizationService) { }\r\n\r\n ngOnInit() {\r\n let serie = new LineSerie(this.lc.loc(\"Active Sessions\"), this.NodeDetails.activesessions);\r\n this.NodeDetails.sessionchart = new LineChartData([serie]);\r\n this.NodeDetails.loadchart = new PieChartData([\r\n new KeyValueColor(\"CPU\", this.NodeDetails.cpuperc),\r\n new KeyValueColor(\"Wait\", this.NodeDetails.waitperc),\r\n new KeyValueColor(\"DB\", this.NodeDetails.dbperc),\r\n new KeyValueColor(\"Script\", this.NodeDetails.scriptperc),\r\n new KeyValueColor(\"Throttle\", this.NodeDetails.throttleperc),\r\n new KeyValueColor(\"Sleep\", this.NodeDetails.sleepperc),\r\n new KeyValueColor(\"Networking\", this.NodeDetails.networkperc),\r\n new KeyValueColor(\"IO\", this.NodeDetails.ioperc)\r\n ]);\r\n }\r\n\r\n closeDialog() {\r\n this.onClose.emit(true);\r\n }\r\n}","import { AppSearch, GenericItem } from \"@esfaenza/es-table\";\r\n\r\nexport class DynamicViewsView extends AppSearch<GenericItem> {\r\n constructor() { super(); }\r\n\r\n filtername: string;\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\n\r\nimport { ADM_LOCALE } from \"../../tokens\";\r\n\r\n@Injectable()\r\nexport class AdmDynamicViewsLoc extends LocalizationService {\r\n constructor(@Inject(ADM_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n\r\n super.set(\"en->it\", \"Search Application Dynamic Views\", [\"Ricerca Viste Dinamiche Applicative\"]);\r\n super.set(\"en->it\", \"Name\", [\"Nome\"]);\r\n super.set(\"en->it\", \"Loading Application Dynamic Views\", [\"Carico le Viste Dinamiche Applicative\"]);\r\n super.set(\"en->it\", \"View Name is mandatory for search operations\", [\"Il nome della vista è obbligatorio per le operazioni di ricerca\"]);\r\n super.set(\"en->it\", \"No element found for Dynamic View\", [\"Nessun elemento trovato per la vista dinamica\"]);\r\n }\r\n}","// Angular\r\nimport { Component, Inject } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\n\r\n// Configurazioni\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { PreferencesService } from \"@esfaenza/preferences\";\r\nimport { InboundMessageTypes, InterComService } from \"@esfaenza/extensions\";\r\nimport { HTTPService } from \"@esfaenza/httpservice\";\r\nimport { AppSearch } from \"@esfaenza/es-table\";\r\n\r\n// Applicazione\r\nimport { Repository } from \"../../models/externals/Repository\";\r\nimport { DynamicViewsView } from \"../../models/components/DynamicViewsView\";\r\nimport { KeyValue } from \"../../models/shared/KeyValue\";\r\nimport { ADM_BACKEND_URL, ADM_MODULE_PATH } from \"../../tokens\";\r\n\r\n// Localizzazione\r\nimport { AdmDynamicViewsLoc } from \"./adm_dynamic_views.component.loc\";\r\n\r\n@Component({\r\n selector: \"adm_dynamic_views\",\r\n viewProviders: [{ provide: LocalizationService, useClass: AdmDynamicViewsLoc }],\r\n templateUrl: \"./adm_dynamic_views.component.html\"\r\n})\r\nexport class AdmDynamicViewsComponent {\r\n\r\n public searchView: DynamicViewsView = new DynamicViewsView();\r\n public Names: KeyValue[] = [];\r\n public storageSub: any;\r\n public badSearch: boolean = false;\r\n\r\n public currentName: string = \"\";\r\n\r\n // Staccato dalla view perché deve essere distrutta e ricreata di continuo\r\n public filterName:string = \"\";\r\n\r\n constructor(\r\n public lc: LocalizationService,\r\n private intercom: InterComService,\r\n private localStorage: PreferencesService,\r\n private http: HTTPService,\r\n private route: ActivatedRoute,\r\n private location: Location,\r\n @Inject(ADM_BACKEND_URL) private backend: string,\r\n @Inject(ADM_MODULE_PATH) private mod: string) {\r\n\r\n this.intercom.send(InboundMessageTypes.Navigation, { sub: false, routeTitle: this.lc.loc(this.route.snapshot.data[\"title\"]) });\r\n }\r\n\r\n ngOnInit() {\r\n this.http.get<KeyValue[]>(Repository.GET_Adm_GetDynamicViews).subscribe(t => { this.Names = t });\r\n this.storageSub = this.route.queryParams.subscribe(params => { this.Init(params[\"ignoreStorage\"]); });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.storageSub)\r\n this.storageSub.unsubscribe();\r\n }\r\n\r\n async Init(ignoreStorage) {\r\n let item = await this.localStorage.getItem<DynamicViewsView>(\"HotDinamitato\").toPromise();\r\n if (!ignoreStorage && item) {\r\n this.init(item);\r\n } else {\r\n this.init(null);\r\n this.location.replaceState(`/pages/${this.mod}/serverviews`);\r\n this.route.snapshot.queryParams = [];\r\n await this.localStorage.removeItem(\"HotDinamitato\").toPromise();\r\n }\r\n }\r\n\r\n init(HotPotato: DynamicViewsView) {\r\n //Se ho la HotPotato vuol dire che sono appena tornato dall'edit/nuovo. Rifaccio la ricerca in base ai filtri precedenti\r\n //Altirmenti genero il modello nuovo normalmente\r\n if (HotPotato) {\r\n this.searchView = HotPotato;\r\n this.POSTGetItems(this.backend + Repository.POST_Adm_GetDynamicViewData, this.searchView);\r\n }\r\n else {\r\n this.searchView = new DynamicViewsView();\r\n this.sendSearch();\r\n }\r\n }\r\n\r\n sendSearch(resetPage: boolean = true) {\r\n this.searchView.searchinprogress = true;\r\n if (resetPage)\r\n this.searchView.page = 1;\r\n\r\n this.searchView.filtername = this.filterName;\r\n this.POSTGetItems(this.backend + Repository.POST_Adm_GetDynamicViewData, this.searchView);\r\n }\r\n\r\n POSTGetItems(url: string, data: DynamicViewsView) {\r\n if (!this.searchView.filtername) {\r\n this.badSearch = true;\r\n AppSearch.reset(this.searchView);\r\n\r\n //Aggiorno il riferimento per refreshare la es-table\r\n this.searchView = JSON.parse(JSON.stringify(this.searchView));\r\n return;\r\n }\r\n else\r\n this.badSearch = false;\r\n\r\n // Per force-resettare l'estable\r\n if (this.currentName != this.searchView.filtername) {\r\n this.currentName = this.searchView.filtername;\r\n this.searchView = null;\r\n }\r\n\r\n this.http.post<DynamicViewsView>(url, data).subscribe(t => {\r\n this.searchView = t;\r\n this.searchView.searchinprogress = false;\r\n this.localStorage.setItem(\"HotDinamitato\", this.searchView).subscribe();\r\n });\r\n }\r\n\r\n}","// Angular\r\nimport { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({ name: 'format_time' })\r\nexport class FormatTimePipe implements PipeTransform {\r\n\r\n constructor() { }\r\n\r\n transform(value: number | string) {\r\n return this.secondsToHms(value);\r\n }\r\n\r\n secondsToHms(d: number | string): string {\r\n d = Number(d);\r\n var h = Math.floor(d / 3600);\r\n var m = Math.floor(d % 3600 / 60);\r\n var s = Math.floor(d % 3600 % 60);\r\n \r\n var hDisplay = h > 0 ? h + \" h, \" : \"\";\r\n var mDisplay = m > 0 ? m + \" min, \" : \"\";\r\n var sDisplay = s > 0 ? s + \" sec\" : \"\";\r\n return hDisplay + mDisplay + sDisplay; \r\n }\r\n}","/** Chiave di questo modulo, da utilizzare per i messaggi */\r\nexport const MK_ADM = \"EsAdminModule\";\r\n\r\n/** Messaggi gestiti da questo modulo */\r\nexport enum AdmMessageTypes{\r\n Message\r\n}","// Angular\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { InterComService, InterComMessage } from \"@esfaenza/extensions\";\r\n\r\n// Modelli\r\nimport { AdmMessageTypes, MK_ADM } from \"./admin-module-messages\";\r\n\r\n@Injectable()\r\nexport class AdminModuleCommService {\r\n\r\n constructor(private intercom: InterComService) { }\r\n\r\n public register() {\r\n this.intercom.register(MK_ADM);\r\n this.intercom.outbounds[MK_ADM].subscribe((t: InterComMessage) => { this.handleOutbound(t.type, t.message); });\r\n }\r\n\r\n private handleOutbound(type: AdmMessageTypes, message: any) {\r\n switch (type) {\r\n case AdmMessageTypes.Message:\r\n if (myconfig.DEBUG_MODE)\r\n console.log(\"@admin-module outbound message: \" + message);\r\n break;\r\n }\r\n }\r\n}","// Angular\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgModule } from \"@angular/core\";\nimport { RouterModule } from \"@angular/router\";\n\n// Material\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDayjsDateModule } from \"@esfaenza/material-dayjs-adapter\";\nimport { MatInputModule } from \"@angular/material/input\";\n\n// Libs\nimport { NgxMatDatetimePickerModule } from '@angular-material-components/datetime-picker';\nimport { ModalModule } from \"ngx-bootstrap/modal\";\nimport { CsvModule } from \"@ctrl/ngx-csv\";\nimport { BsDropdownModule } from \"ngx-bootstrap/dropdown\";\nimport { TooltipModule } from \"ngx-bootstrap/tooltip\";\n\n// Esfaenza\n import { EsTableModule } from \"@esfaenza/es-table\";\n import { FormsAndValidationsModule } from \"@esfaenza/forms-and-validations\";\n import { EsChartsModule } from \"@esfaenza/es-charts\";\n import { EsGertrudeModule } from \"@esfaenza/gertrude\";\n import { LocalizationModule } from \"@esfaenza/localizations\";\n import { ContextMenuModule } from \"@esfaenza/ngx-contextmenu\";\n\n// Components\nimport { AdmAuditsComponent } from \"./components/audits/adm_audits.component\";\nimport { AdmWrkComponent } from \"./components/workers/adm_wrk.component\";\nimport { AdmProfilerComponent } from \"./components/profiler/adm_profiler.component\";\nimport { AdmTopActivitiesComponent } from \"./components/topact/topact_search.component\";\nimport { AdmEnqComponent } from \"./components/enqueues/adm_enq.component\";\nimport { AdmMetricsComponent } from \"./components/metrics/metrics_search.component\";\nimport { AdmLogsComponent } from \"./components/logs/adm_logs.component\";\nimport { NodeDetailComponent } from \"./components/_shared/node_detail.component\";\nimport { AdmDynamicViewsComponent } from \"./components/dynamic_views/adm_dynamic_views.component\";\n\n// Pipes\nimport { FormatTimePipe } from \"./pipes/format_time.pipe\";\n\n// Communication Service\nimport { AdminModuleCommService } from \"./admin-module.comms.service\";\n\n// Tokens\nimport { ADM_BACKEND_URL, ADM_CONVERSATIONS, ADM_LOCALE } from \"./tokens\";\n\nexport const routeConfig = [\n {\n path: \"\", children: [\n { path: \"serverworkers\", component: AdmWrkComponent, data: { title: \"Search Application Processes\", internalNavigation: false } },\n { path: \"profiler\", component: AdmProfilerComponent, data: { title: \"Server Profiler\", internalNavigation: false } },\n { path: \"topact\", component: AdmTopActivitiesComponent, data: { title: \"Top Activities\", internalNavigation: false } },\n { path: \"metrics\", component: AdmMetricsComponent, data: { title: \"System Metrics\", internalNavigation: false } },\n { path: \"serverlogs\", component: AdmLogsComponent, data: { title: \"Server Logs\", internalNavigation: false } },\n { path: \"serveraudits\", component: AdmAuditsComponent, data: { title: \"Search Application Audits\", internalNavigation: false } },\n { path: \"serverenqueues\", component: AdmEnqComponent, data: { title: \"Search Application Locks\", internalNavigation: false } },\n { path: \"serverviews\", component: AdmDynamicViewsComponent, data: { title: \"Search Application Dynamic Views\", internalNavigation: false } }\n ]\n }\n];\n\nconst MODULES = [\n // Base\n CommonModule,\n FormsModule,\n\n // Material\n MatDatepickerModule,\n MatDayjsDateModule,\n MatIconModule,\n MatInputModule,\n\n // Bootstrap\n ModalModule,\n TooltipModule,\n BsDropdownModule,\n CsvModule,\n\n // Esfaenza e componenti visuali\n ContextMenuModule,\n LocalizationModule,\n EsTableModule,\n FormsAndValidationsModule,\n EsGertrudeModule,\n EsChartsModule,\n NgxMatDatetimePickerModule,\n\n RouterModule.forChild(routeConfig),\n];\n\nconst COMPONENTS = [\n AdmWrkComponent,\n AdmProfilerComponent,\n AdmTopActivitiesComponent,\n AdmDynamicViewsComponent,\n AdmLogsComponent,\n AdmAuditsComponent,\n AdmEnqComponent,\n AdmMetricsComponent,\n NodeDetailComponent\n];\n\nconst PIPES = [\n FormatTimePipe\n]\n\n@NgModule({\n imports: [...MODULES],\n declarations: [...COMPONENTS, ...PIPES],\n providers: [\n AdminModuleCommService,\n { provide: ADM_LOCALE, useValue: myconfig.LOCALE },\n { provide: ADM_BACKEND_URL, useValue: myconfig.BACKEND_URL },\n { provide: ADM_CONVERSATIONS, useValue: !!myconfig.TRANSACTIONS_TIMEOUT_S }\n ]\n})\nexport class AdmModule {\n constructor(private commService: AdminModuleCommService) {\n console.log(\"@esfaenza/admin-module: BOOTSTRAP\");\n this.commService.register();\n }\n}"]}