@esfaenza/admin-module 20.3.20 → 20.3.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1,32 +1,33 @@
1
- import * as i28 from '@angular/router';
2
- import { ActivatedRoute, CanMatchFn } from '@angular/router';
3
- import * as i14 from '@angular/common';
1
+ import * as i32 from '@angular/router';
2
+ import { ActivatedRoute, Router, CanMatchFn } from '@angular/router';
3
+ import * as i18 from '@angular/common';
4
4
  import { Location } from '@angular/common';
5
- import * as i20 from '@esfaenza/localizations';
5
+ import * as i24 from '@esfaenza/localizations';
6
6
  import { LocalizationService } from '@esfaenza/localizations';
7
7
  import { PreferencesService } from '@esfaenza/preferences';
8
- import * as i21 from '@esfaenza/extensions';
8
+ import * as i25 from '@esfaenza/extensions';
9
9
  import { MessageService, ClipboardService, InterComService, UtilityService, DateService, ExportService } from '@esfaenza/extensions';
10
- import * as i22 from '@esfaenza/es-table';
10
+ import * as i26 from '@esfaenza/es-table';
11
11
  import { AppSearch, GenericItem, EsTableOperationDefinition, ItemsSelection } from '@esfaenza/es-table';
12
12
  import * as i0 from '@angular/core';
13
- import { Injector, NgZone, EventEmitter, PipeTransform, InjectionToken } from '@angular/core';
13
+ import { Injector, ElementRef, OnInit, OnChanges, OnDestroy, EventEmitter, NgZone, PipeTransform, InjectionToken } from '@angular/core';
14
14
  import { HTTPService } from '@esfaenza/httpservice';
15
+ import { Observable, ReplaySubject } from 'rxjs';
15
16
  import { KeyValue as KeyValue$1 } from '@esfaenza/core/domain';
16
- import * as i25 from '@esfaenza/es-charts';
17
+ import * as i29 from '@esfaenza/es-charts';
17
18
  import { DateValue, LineChartData, PieChartData, LineSerie, BaseChartComponent } from '@esfaenza/es-charts';
18
- import * as i15 from '@angular/forms';
19
+ import * as i19 from '@angular/forms';
19
20
  import { NgForm } from '@angular/forms';
20
- import * as i16 from 'ngx-bootstrap/modal';
21
+ import * as i20 from 'ngx-bootstrap/modal';
21
22
  import { ModalDirective } from 'ngx-bootstrap/modal';
22
- import { ReplaySubject } from 'rxjs';
23
- import * as i17 from 'ngx-bootstrap/tooltip';
24
- import * as i18 from 'ngx-bootstrap/dropdown';
25
- import * as i19 from '@esfaenza/ngx-contextmenu';
26
- import * as i23 from '@esfaenza/forms-and-validations';
27
- import * as i24 from '@esfaenza/gertrude';
28
- import * as i26 from '@esfaenza/core/components';
29
- import * as i27 from '@esfaenza/core/directives';
23
+ import { SafeHtml, DomSanitizer } from '@angular/platform-browser';
24
+ import * as i21 from 'ngx-bootstrap/tooltip';
25
+ import * as i22 from 'ngx-bootstrap/dropdown';
26
+ import * as i23 from '@esfaenza/ngx-contextmenu';
27
+ import * as i27 from '@esfaenza/forms-and-validations';
28
+ import * as i28 from '@esfaenza/gertrude';
29
+ import * as i30 from '@esfaenza/core/components';
30
+ import * as i31 from '@esfaenza/core/directives';
30
31
 
31
32
  declare class Audit {
32
33
  timestamp: Date;
@@ -367,6 +368,266 @@ declare class ProfilerDataNodesView extends AppSearch<ProfilerDataNode> {
367
368
  filterglobal: boolean;
368
369
  }
369
370
 
371
+ declare enum ProfilerOrderBy {
372
+ Time = 0,
373
+ TimeLessChildren = 1,
374
+ Calls = 2,
375
+ AvgTime = 3,
376
+ PeakTime = 4,
377
+ SnapDeltaTime = 5,
378
+ SnapDeltaTimeLessChildren = 6,
379
+ SnapDeltaCalls = 7,
380
+ ActiveThreads = 8
381
+ }
382
+ declare class ProfilerV2Request {
383
+ realTime?: boolean;
384
+ global?: boolean;
385
+ instanceId?: string;
386
+ snapFrom?: string;
387
+ snapTo?: string;
388
+ }
389
+ declare class ProfilerV2TreeRequest extends ProfilerV2Request {
390
+ rootNodeId?: string;
391
+ maxDepth?: number;
392
+ maxChildren?: number;
393
+ minPercentage?: number;
394
+ orderBy?: ProfilerOrderBy;
395
+ search?: string;
396
+ }
397
+ declare class ProfilerV2NodeRequest extends ProfilerV2Request {
398
+ nodeId: string;
399
+ }
400
+ declare class ProfilerV2FlatRequest extends ProfilerV2Request {
401
+ orderBy?: ProfilerOrderBy;
402
+ top?: number;
403
+ search?: string;
404
+ eventType?: string;
405
+ includeIdle?: boolean;
406
+ }
407
+
408
+ declare class ProfilerV2PathItem {
409
+ nodeId: string;
410
+ nodeName: string;
411
+ eventTypeName: string;
412
+ waitClassName: string;
413
+ }
414
+ declare class ProfilerV2Node {
415
+ nodeId: string;
416
+ parentNodeId: string;
417
+ nodeName: string;
418
+ eventTypeName: string;
419
+ waitClassName: string;
420
+ numInstances: number;
421
+ children: ProfilerV2Node[];
422
+ calls: number;
423
+ time: number;
424
+ timeLessChildren: number;
425
+ avgTime: number;
426
+ peakTime: number;
427
+ minTime: number;
428
+ percentage: number;
429
+ parentPercentage: number;
430
+ snapDeltaCalls: number;
431
+ snapDeltaTime: number;
432
+ snapDeltaTimeLessChildren: number;
433
+ snapDeltaAvgTime: number;
434
+ snapPeakTime: number;
435
+ snapMinTime: number;
436
+ snapPercentage: number;
437
+ snapParentPercentage: number;
438
+ level: number;
439
+ numChildren: number;
440
+ omittedChildren: number;
441
+ omittedCalls: number;
442
+ omittedTime: number;
443
+ omittedSnapDeltaTime: number;
444
+ searchMatch: boolean;
445
+ activeThreads: number;
446
+ activeMaxTime: number;
447
+ lastExitTime: string;
448
+ }
449
+ declare class ProfilerV2Tree {
450
+ snapFrom: string;
451
+ snapTo: string;
452
+ idleNode: ProfilerV2Node;
453
+ rootPath: ProfilerV2PathItem[];
454
+ numNodes: number;
455
+ numReturnedNodes: number;
456
+ truncated: boolean;
457
+ }
458
+ declare class ProfilerV2ActiveSession {
459
+ timestamp: string;
460
+ activity: number;
461
+ }
462
+ declare class ProfilerV2InstanceStats {
463
+ instanceId: string;
464
+ executions: number;
465
+ elapsedTime: number;
466
+ elapsedTimeLessChildren: number;
467
+ activeThreads: number;
468
+ }
469
+ declare class ProfilerV2NodeStats {
470
+ nodeId: string;
471
+ nodeName: string;
472
+ eventTypeName: string;
473
+ waitClassName: string;
474
+ parentNodeId: string;
475
+ fullWaitStack: ProfilerV2PathItem[];
476
+ numChildren: number;
477
+ numDescendants: number;
478
+ foundInInstanceIds: string[];
479
+ instances: ProfilerV2InstanceStats[];
480
+ executions: number;
481
+ elapsedTime: number;
482
+ elapsedTimeLessChildren: number;
483
+ avgTime: number;
484
+ peakTime: number;
485
+ minTime: number;
486
+ snapDeltaExecutions: number;
487
+ snapDeltaElapsedTime: number;
488
+ snapDeltaElapsedTimeLessChildren: number;
489
+ activeThreads: number;
490
+ activeMaxTime: number;
491
+ lastExitTime: string;
492
+ cpuPerc: number;
493
+ dbPerc: number;
494
+ waitPerc: number;
495
+ scriptPerc: number;
496
+ networkPerc: number;
497
+ ioPerc: number;
498
+ sleepPerc: number;
499
+ throttlePerc: number;
500
+ idlePerc: number;
501
+ activeSessions: ProfilerV2ActiveSession[];
502
+ snapFrom: string;
503
+ snapTo: string;
504
+ }
505
+ declare class ProfilerV2FlatItem {
506
+ nodeName: string;
507
+ eventTypeName: string;
508
+ waitClassName: string;
509
+ numPaths: number;
510
+ nodeIds: string[];
511
+ calls: number;
512
+ time: number;
513
+ timeLessChildren: number;
514
+ avgTime: number;
515
+ peakTime: number;
516
+ minTime: number;
517
+ percentage: number;
518
+ snapPercentage: number;
519
+ snapDeltaCalls: number;
520
+ snapDeltaTime: number;
521
+ snapDeltaTimeLessChildren: number;
522
+ activeThreads: number;
523
+ }
524
+ declare class ProfilerV2Flat {
525
+ snapFrom: string;
526
+ snapTo: string;
527
+ numItems: number;
528
+ items: ProfilerV2FlatItem[];
529
+ }
530
+
531
+ declare class WorkloadReportV2Request {
532
+ snapFrom?: number;
533
+ snapTo?: number;
534
+ instanceIds?: string[];
535
+ global?: boolean;
536
+ }
537
+ declare class WorkloadSnapshotsRequest {
538
+ from?: string;
539
+ to?: string;
540
+ instanceIds?: string[];
541
+ }
542
+ declare class WorkloadSnapshotInstance {
543
+ snapId: number;
544
+ instanceId: string;
545
+ startupTime: string;
546
+ beginIntervalTime: string;
547
+ endIntervalTime: string;
548
+ flushElapsed: number;
549
+ manual: boolean;
550
+ }
551
+ declare class WorkloadSnapshot {
552
+ snapId: number;
553
+ beginIntervalTime: string;
554
+ endIntervalTime: string;
555
+ manual: boolean;
556
+ restart: boolean;
557
+ instances: WorkloadSnapshotInstance[];
558
+ }
559
+ declare class WorkloadSnapshotList {
560
+ historyAvailable: boolean;
561
+ snapshots: WorkloadSnapshot[];
562
+ }
563
+
564
+ declare enum MetricV2Type {
565
+ Counter = 0,
566
+ Gauge = 1,
567
+ Histogram = 2,
568
+ Timer = 3,
569
+ Meter = 4
570
+ }
571
+ declare class MetricsV2CatalogRequest {
572
+ global?: boolean;
573
+ instanceIds?: string[];
574
+ }
575
+ declare class MetricsV2Request extends MetricsV2CatalogRequest {
576
+ metricNames?: string[];
577
+ realTime?: boolean;
578
+ snapFrom?: string;
579
+ snapTo?: string;
580
+ snapIdFrom?: number;
581
+ snapIdTo?: number;
582
+ }
583
+ declare class MetricsV2Info {
584
+ name: string;
585
+ metricType: MetricV2Type;
586
+ unit: string;
587
+ rateUnit: string;
588
+ durationUnit: string;
589
+ instances: string[];
590
+ }
591
+ declare class MetricsV2Sample {
592
+ instanceId: string;
593
+ sampleTime: string;
594
+ snapId: number;
595
+ name: string;
596
+ metricType: MetricV2Type;
597
+ unit: string;
598
+ rateUnit: string;
599
+ durationUnit: string;
600
+ value: number;
601
+ count: number;
602
+ percent: number;
603
+ meanRate: number;
604
+ oneMinuteRate: number;
605
+ fiveMinuteRate: number;
606
+ fifteenMinuteRate: number;
607
+ mean: number;
608
+ stdDev: number;
609
+ median: number;
610
+ min: number;
611
+ max: number;
612
+ lastValue: number;
613
+ percentile75: number;
614
+ percentile95: number;
615
+ percentile98: number;
616
+ percentile99: number;
617
+ percentile999: number;
618
+ minUserValue: string;
619
+ maxUserValue: string;
620
+ lastUserValue: string;
621
+ sampleSize: number;
622
+ activeSessions: number;
623
+ totalTime: number;
624
+ intervalSeconds: number;
625
+ deltaCount: number;
626
+ ratePerSecond: number;
627
+ deltaTotalTime: number;
628
+ intervalMean: number;
629
+ }
630
+
370
631
  declare class MetricChart extends LineChartData {
371
632
  xtitle: string;
372
633
  ytitle: string;
@@ -447,11 +708,22 @@ declare class AdminModuleBaseService {
447
708
  getServerLogs(be: string, from: string, to: string, instance: string, target: string): Promise<string>;
448
709
  getTopActivities(be: string, sv: TopActivitiesDataView): Promise<TopActivitiesDataView>;
449
710
  getTopActivitiesV2(be: string, req: TopActivityV2Request): Promise<TopActivityV2Response>;
711
+ getProfilerTreeV2(be: string, req: ProfilerV2TreeRequest): Promise<ProfilerV2Tree>;
712
+ getProfilerNodeV2(be: string, req: ProfilerV2NodeRequest): Promise<ProfilerV2NodeStats>;
713
+ getProfilerFlatV2(be: string, req: ProfilerV2FlatRequest): Promise<ProfilerV2Flat>;
714
+ private v2;
715
+ private v2Call;
716
+ getInstanceId(be: string): Promise<string>;
717
+ errorText(err: any): string;
450
718
  getInfos(be: string): Promise<DirectorInfos>;
451
719
  getNodeStats(be: string, nodeId: string, global?: boolean): Promise<NodeStats>;
452
720
  getSessionStats(be: string, sid: string, serial: string, instance: string): Promise<SessionStats>;
453
721
  getProfilerDataNodes(be: string, sv: ProfilerDataNodesView): Promise<ProfilerDataNodesView>;
454
722
  downloadWorkloadReport(be: string, from: string, to: string, global?: boolean): void;
723
+ getWorkloadReportV2(be: string, req: WorkloadReportV2Request): Observable<string>;
724
+ getMetricsCatalogV2(be: string, req: MetricsV2CatalogRequest): Promise<MetricsV2Info[]>;
725
+ getMetricsV2(be: string, req: MetricsV2Request): Promise<MetricsV2Sample[]>;
726
+ getWorkloadSnapshots(be: string, req: WorkloadSnapshotsRequest): Promise<WorkloadSnapshotList>;
455
727
  getMetrics(be: string, sv: MetricsView): Promise<MetricsView>;
456
728
  getMetricsList(be: string, from: string, to: string): Promise<Metric[]>;
457
729
  getServerLocks(be: string, sv: LocksView): Promise<LocksView>;
@@ -552,12 +824,14 @@ declare class AdmProfilerComponent {
552
824
  private intercom;
553
825
  private route;
554
826
  private adms;
827
+ private router;
555
828
  private mod;
829
+ workloadV2: boolean;
556
830
  searchView: ProfilerDataNodesView;
557
831
  storageSub: any;
558
832
  NodeDetails: NodeStats;
559
833
  private be;
560
- constructor(lc: LocalizationService, localStorage: PreferencesService, location: Location, intercom: InterComService, route: ActivatedRoute, adms: AdminModuleBaseService, mod: string);
834
+ constructor(lc: LocalizationService, localStorage: PreferencesService, location: Location, intercom: InterComService, route: ActivatedRoute, adms: AdminModuleBaseService, router: Router, mod: string, workloadV2: boolean);
561
835
  ngOnInit(): void;
562
836
  Init(ignoreStore: any): void;
563
837
  doInit(ignoreStorage: any): Promise<void>;
@@ -568,10 +842,619 @@ declare class AdmProfilerComponent {
568
842
  POSTGetItems(data: ProfilerDataNodesView): Promise<void>;
569
843
  prepareExport(dataCallBack: any): Promise<void>;
570
844
  loadNodeDetails(nodeId: string): void;
571
- static ɵfac: i0.ɵɵFactoryDeclaration<AdmProfilerComponent, never>;
845
+ static ɵfac: i0.ɵɵFactoryDeclaration<AdmProfilerComponent, [null, null, null, null, null, null, null, null, { optional: true; }]>;
572
846
  static ɵcmp: i0.ɵɵComponentDeclaration<AdmProfilerComponent, "adm_profiler", never, {}, {}, never, never, false, never>;
573
847
  }
574
848
 
849
+ declare class ProfilerV2Row {
850
+ kind: "node" | "loading" | "omitted";
851
+ node: ProfilerV2Node;
852
+ depth: number;
853
+ key: string;
854
+ }
855
+ declare class ProfilerV2TypePart {
856
+ type: string;
857
+ label: string;
858
+ color: string;
859
+ percentage: number;
860
+ }
861
+ declare class ProfilerV2Chart {
862
+ area: string;
863
+ line: string;
864
+ color: string;
865
+ max: number;
866
+ lastX: number;
867
+ lastY: number;
868
+ start: string;
869
+ middle: string;
870
+ end: string;
871
+ average: number;
872
+ peak: number;
873
+ points: number;
874
+ interval: number;
875
+ group: number;
876
+ }
877
+ declare class AdmProfilerV2Component {
878
+ dateExts: DateService;
879
+ lc: LocalizationService;
880
+ private localStorage;
881
+ private intercom;
882
+ private route;
883
+ private router;
884
+ private location;
885
+ private adms;
886
+ private mod;
887
+ workloadV2: boolean;
888
+ readonly EventTypes: string[];
889
+ live: boolean;
890
+ instance: string;
891
+ filterfrom: string;
892
+ filterto: string;
893
+ snapValues: boolean;
894
+ view: "tree" | "flat";
895
+ orderBy: string;
896
+ maxChildren: string;
897
+ minPercentage: string;
898
+ searchText: string;
899
+ activeSearch: string;
900
+ tree: ProfilerV2Tree;
901
+ rows: ProfilerV2Row[];
902
+ treeLoading: boolean;
903
+ treeError: string;
904
+ treeNotice: string;
905
+ matchCount: number;
906
+ flatSearch: string;
907
+ flatType: string;
908
+ flatOrderBy: string;
909
+ flatTop: string;
910
+ flatIncludeIdle: boolean;
911
+ flat: ProfilerV2Flat;
912
+ flatLoading: boolean;
913
+ flatError: string;
914
+ openFlat: Set<string>;
915
+ selectedId: string;
916
+ detail: ProfilerV2NodeStats;
917
+ detailLoading: boolean;
918
+ detailMissing: boolean;
919
+ detailError: string;
920
+ typeParts: ProfilerV2TypePart[];
921
+ chart: ProfilerV2Chart;
922
+ copied: boolean;
923
+ Instances: KeyValue[];
924
+ TreeOrders: KeyValue[];
925
+ FlatOrders: KeyValue[];
926
+ TreeOrderOptions: KeyValue[];
927
+ FlatOrderOptions: KeyValue[];
928
+ ChildrenOptions: KeyValue[];
929
+ ThresholdOptions: KeyValue[];
930
+ FlatTypes: KeyValue[];
931
+ FlatRows: KeyValue[];
932
+ private be;
933
+ private instanceId;
934
+ private instanceIds;
935
+ private rootId;
936
+ private nodes;
937
+ private parents;
938
+ private expanded;
939
+ private expandedBeforeSearch;
940
+ private loaded;
941
+ private loadingChildren;
942
+ private treeGeneration;
943
+ private flatGeneration;
944
+ private detailGeneration;
945
+ private searchTimer;
946
+ private flatSearchTimer;
947
+ private datesTimer;
948
+ private detailTimer;
949
+ constructor(dateExts: DateService, lc: LocalizationService, localStorage: PreferencesService, intercom: InterComService, route: ActivatedRoute, router: Router, location: Location, adms: AdminModuleBaseService, mod: string, workloadV2: boolean);
950
+ ngOnInit(): Promise<void>;
951
+ ngOnDestroy(): void;
952
+ setLive(live: boolean): void;
953
+ setInstance(id: string): void;
954
+ datesChanged(): void;
955
+ setSnapValues(on: boolean): void;
956
+ setView(view: "tree" | "flat"): void;
957
+ reloadAll(): void;
958
+ private reloadView;
959
+ downloadWorkloadReport(): void;
960
+ get instanceLabel(): string;
961
+ get loading(): boolean;
962
+ get current(): {
963
+ snapFrom: string;
964
+ snapTo: string;
965
+ };
966
+ private baseRequest;
967
+ setOrderBy(id: string): void;
968
+ setMaxChildren(id: string): void;
969
+ setMinPercentage(id: string): void;
970
+ searchChanged(): void;
971
+ clearSearch(): void;
972
+ setRoot(id: string): void;
973
+ private get rootPathIdle();
974
+ loadTree(keepExpanded: boolean): Promise<void>;
975
+ private ingest;
976
+ private reopen;
977
+ hasChildren(node: ProfilerV2Node): boolean;
978
+ isExpanded(node: ProfilerV2Node): boolean;
979
+ private needsChildren;
980
+ toggle(node: ProfilerV2Node, event?: Event): void;
981
+ showAll(node: ProfilerV2Node, event: Event): void;
982
+ private loadChildren;
983
+ private buildRows;
984
+ private addRows;
985
+ rowClicked(node: ProfilerV2Node): void;
986
+ treeKeydown(event: KeyboardEvent): void;
987
+ isIdle(type: string, waitClass: string): boolean;
988
+ isLongRunning(type: string, waitClass: string, activeMaxTime: number): boolean;
989
+ nameParts(name: string, search: string): {
990
+ text: string;
991
+ hit: boolean;
992
+ }[];
993
+ get snapMode(): boolean;
994
+ calls(node: ProfilerV2Node): number;
995
+ time(node: ProfilerV2Node): number;
996
+ self(node: ProfilerV2Node): number;
997
+ avg(node: ProfilerV2Node): number;
998
+ peak(node: ProfilerV2Node): number;
999
+ parentPerc(node: ProfilerV2Node): number;
1000
+ firstLevelPerc(node: ProfilerV2Node): number;
1001
+ omittedTime(node: ProfilerV2Node): number;
1002
+ flatCalls(item: ProfilerV2FlatItem): number;
1003
+ flatSelf(item: ProfilerV2FlatItem): number;
1004
+ flatPerc(item: ProfilerV2FlatItem): number;
1005
+ flatTime(item: ProfilerV2FlatItem): number;
1006
+ flatAvg(item: ProfilerV2FlatItem): number;
1007
+ flatChanged(): void;
1008
+ setFlatTop(id: string): void;
1009
+ flatSearchChanged(): void;
1010
+ loadFlat(): Promise<void>;
1011
+ flatKey(item: ProfilerV2FlatItem): string;
1012
+ toggleFlat(item: ProfilerV2FlatItem): void;
1013
+ openInTree(nodeId: string, event: Event): void;
1014
+ showDetail(nodeId: string, event: Event): void;
1015
+ select(nodeId: string, delayed?: boolean): void;
1016
+ loadDetail(nodeId: string): Promise<void>;
1017
+ get detailStale(): boolean;
1018
+ copyId(element: HTMLElement): Promise<void>;
1019
+ private buildTypeParts;
1020
+ private buildChart;
1021
+ private niceMax;
1022
+ typeColor(type: string, waitClass: string): string;
1023
+ typeLabel(type: string, waitClass: string): string;
1024
+ axisValue(value: number): string;
1025
+ duration(seconds: number): string;
1026
+ parseUtc(value: string): Date;
1027
+ hhmm(value: Date | string): string;
1028
+ ddmmhhmm(value: string): string;
1029
+ minutesAgo(value: string): number;
1030
+ relative(value: string): string;
1031
+ private errorMessage;
1032
+ private buildSources;
1033
+ private updateOrderOptions;
1034
+ private loadInstances;
1035
+ private buildInstances;
1036
+ private updateUrl;
1037
+ private applySettings;
1038
+ private saveSettings;
1039
+ private toDate;
1040
+ private fmt;
1041
+ private floorHour;
1042
+ static ɵfac: i0.ɵɵFactoryDeclaration<AdmProfilerV2Component, [null, null, null, null, null, null, null, null, null, { optional: true; }]>;
1043
+ static ɵcmp: i0.ɵɵComponentDeclaration<AdmProfilerV2Component, "profiler_v2", never, {}, {}, never, never, false, never>;
1044
+ }
1045
+
1046
+ declare class WorkloadV2Report {
1047
+ html: string;
1048
+ doc: SafeHtml;
1049
+ live: boolean;
1050
+ instances: string[];
1051
+ snapFrom: number;
1052
+ snapTo: number;
1053
+ windowFrom: Date;
1054
+ windowTo: Date;
1055
+ generatedAt: Date;
1056
+ size: number;
1057
+ sections: KeyValue[];
1058
+ }
1059
+ declare class AdmWorkloadV2Component {
1060
+ lc: LocalizationService;
1061
+ private localStorage;
1062
+ private intercom;
1063
+ private route;
1064
+ private sanitizer;
1065
+ private adms;
1066
+ reportFrame: ElementRef<HTMLIFrameElement>;
1067
+ live: boolean;
1068
+ instances: string[];
1069
+ period: string;
1070
+ snapshots: WorkloadSnapshot[];
1071
+ historyAvailable: boolean;
1072
+ snapshotsLoading: boolean;
1073
+ snapshotsLoaded: boolean;
1074
+ snapshotsError: string;
1075
+ selFrom: number;
1076
+ selTo: number;
1077
+ warnings: string[];
1078
+ generating: boolean;
1079
+ reportError: string;
1080
+ report: WorkloadV2Report;
1081
+ section: string;
1082
+ Instances: KeyValue[];
1083
+ Periods: KeyValue[];
1084
+ private be;
1085
+ private reportSub;
1086
+ private snapshotsGeneration;
1087
+ constructor(lc: LocalizationService, localStorage: PreferencesService, intercom: InterComService, route: ActivatedRoute, sanitizer: DomSanitizer, adms: AdminModuleBaseService);
1088
+ ngOnInit(): Promise<void>;
1089
+ ngOnDestroy(): void;
1090
+ get clusterLabel(): string;
1091
+ setLive(live: boolean): void;
1092
+ instancesChanged(ids: string[]): void;
1093
+ setPeriod(id: string): void;
1094
+ get canGenerate(): boolean;
1095
+ loadSnapshots(): Promise<void>;
1096
+ pick(snapshot: WorkloadSnapshot): void;
1097
+ clearSelection(): void;
1098
+ inRange(snapshot: WorkloadSnapshot): boolean;
1099
+ isEdge(snapshot: WorkloadSnapshot): boolean;
1100
+ get selectionWindow(): {
1101
+ from: Date;
1102
+ to: Date;
1103
+ };
1104
+ instancesTitle(snapshot: WorkloadSnapshot): string;
1105
+ private updateWarnings;
1106
+ private restartedInstances;
1107
+ generateOrCancel(): void;
1108
+ private generate;
1109
+ cancel(): void;
1110
+ private showReport;
1111
+ goToSection(anchor: string): void;
1112
+ download(): void;
1113
+ openInTab(): void;
1114
+ private reportBlob;
1115
+ private fileName;
1116
+ private utcStamp;
1117
+ parseUtc(value: string): Date;
1118
+ local(value: Date | string): string;
1119
+ hhmm(date: Date): string;
1120
+ get zone(): string;
1121
+ span(from: Date | string, to: Date | string): string;
1122
+ kilobytes(size: number): string;
1123
+ scopeLabel(instances: string[]): string;
1124
+ private saveSettings;
1125
+ static ɵfac: i0.ɵɵFactoryDeclaration<AdmWorkloadV2Component, never>;
1126
+ static ɵcmp: i0.ɵɵComponentDeclaration<AdmWorkloadV2Component, "workload_v2", never, {}, {}, never, never, false, never>;
1127
+ }
1128
+
1129
+ declare class Mv2Point {
1130
+ t: number;
1131
+ v: number;
1132
+ v2?: number;
1133
+ gap?: boolean;
1134
+ }
1135
+ declare class Mv2Series {
1136
+ key: string;
1137
+ label: string;
1138
+ color: string;
1139
+ kind: "line" | "step" | "bars" | "dots" | "band";
1140
+ points: Mv2Point[];
1141
+ dash?: string;
1142
+ opacity?: number;
1143
+ tooltip?: boolean;
1144
+ }
1145
+ declare class Mv2Mark {
1146
+ t: number;
1147
+ label: string;
1148
+ kind: "restart" | "snapshot";
1149
+ }
1150
+ declare class Mv2Path {
1151
+ key: string;
1152
+ d: string;
1153
+ color: string;
1154
+ fill: boolean;
1155
+ dash: string;
1156
+ opacity: number;
1157
+ }
1158
+ declare class Mv2Rect {
1159
+ key: string;
1160
+ x: number;
1161
+ y: number;
1162
+ w: number;
1163
+ h: number;
1164
+ color: string;
1165
+ }
1166
+ declare class Mv2Dot {
1167
+ key: string;
1168
+ x: number;
1169
+ y: number;
1170
+ color: string;
1171
+ }
1172
+ declare class Mv2Tick {
1173
+ key: string;
1174
+ pos: number;
1175
+ label: string;
1176
+ }
1177
+ declare class Mv2MarkTick {
1178
+ key: string;
1179
+ pos: number;
1180
+ label: string;
1181
+ kind: string;
1182
+ }
1183
+ declare class Mv2TipRow {
1184
+ color: string;
1185
+ label: string;
1186
+ value: string;
1187
+ }
1188
+ declare class MetricsV2ChartComponent implements OnInit, OnChanges, OnDestroy {
1189
+ private host;
1190
+ private zone;
1191
+ series: Mv2Series[];
1192
+ from: number;
1193
+ to: number;
1194
+ height: number;
1195
+ unit: string;
1196
+ marks: Mv2Mark[];
1197
+ cursor: number;
1198
+ format: (value: number) => string;
1199
+ cursorChange: EventEmitter<number>;
1200
+ zoom: EventEmitter<{
1201
+ from: number;
1202
+ to: number;
1203
+ }>;
1204
+ width: number;
1205
+ readonly left = 56;
1206
+ readonly right = 10;
1207
+ readonly top = 20;
1208
+ readonly bottom = 20;
1209
+ paths: Mv2Path[];
1210
+ rects: Mv2Rect[];
1211
+ dots: Mv2Dot[];
1212
+ yTicks: Mv2Tick[];
1213
+ xTicks: Mv2Tick[];
1214
+ markTicks: Mv2MarkTick[];
1215
+ hovered: boolean;
1216
+ cursorX: number;
1217
+ tipTime: string;
1218
+ tipRows: Mv2TipRow[];
1219
+ dragFrom: number;
1220
+ dragTo: number;
1221
+ private yMin;
1222
+ private yMax;
1223
+ private observer;
1224
+ constructor(host: ElementRef<HTMLElement>, zone: NgZone);
1225
+ ngOnInit(): void;
1226
+ ngOnDestroy(): void;
1227
+ ngOnChanges(changes: any): void;
1228
+ min(a: number, b: number): number;
1229
+ abs(a: number): number;
1230
+ private get plotWidth();
1231
+ private x;
1232
+ private y;
1233
+ private timeAt;
1234
+ private layout;
1235
+ private linePath;
1236
+ private bandPath;
1237
+ private niceStep;
1238
+ private updateCursor;
1239
+ private nearest;
1240
+ private plotX;
1241
+ move(event: MouseEvent): void;
1242
+ leave(): void;
1243
+ down(event: MouseEvent): void;
1244
+ up(event: MouseEvent): void;
1245
+ static ɵfac: i0.ɵɵFactoryDeclaration<MetricsV2ChartComponent, never>;
1246
+ static ɵcmp: i0.ɵɵComponentDeclaration<MetricsV2ChartComponent, "mv2-chart", never, { "series": { "alias": "series"; "required": false; }; "from": { "alias": "from"; "required": false; }; "to": { "alias": "to"; "required": false; }; "height": { "alias": "height"; "required": false; }; "unit": { "alias": "unit"; "required": false; }; "marks": { "alias": "marks"; "required": false; }; "cursor": { "alias": "cursor"; "required": false; }; "format": { "alias": "format"; "required": false; }; }, { "cursorChange": "cursorChange"; "zoom": "zoom"; }, never, never, false, never>;
1247
+ }
1248
+
1249
+ type Source = "live" | "period" | "snap";
1250
+ declare class Mv2CatalogEntry {
1251
+ info: MetricsV2Info;
1252
+ items: MetricsV2Info[];
1253
+ open: boolean;
1254
+ }
1255
+ declare class Mv2CatalogGroup {
1256
+ type: MetricV2Type;
1257
+ label: string;
1258
+ entries: Mv2CatalogEntry[];
1259
+ count: number;
1260
+ }
1261
+ declare class Mv2Chart {
1262
+ key: string;
1263
+ series: Mv2Series[];
1264
+ unit: string;
1265
+ height: number;
1266
+ }
1267
+ declare class Mv2Panel {
1268
+ info: MetricsV2Info;
1269
+ alts: KeyValue[];
1270
+ alt: string;
1271
+ charts: Mv2Chart[];
1272
+ empty: boolean;
1273
+ }
1274
+ declare class Mv2TileRow {
1275
+ instance: string;
1276
+ color: string;
1277
+ value: string;
1278
+ extra: string;
1279
+ }
1280
+ declare class Mv2Tile {
1281
+ info: MetricsV2Info;
1282
+ rows: Mv2TileRow[];
1283
+ sparks: {
1284
+ d: string;
1285
+ color: string;
1286
+ }[];
1287
+ time: string;
1288
+ }
1289
+ declare class Mv2Column {
1290
+ key: string;
1291
+ label: string;
1292
+ num: boolean;
1293
+ }
1294
+ declare class Mv2TableSection {
1295
+ info: MetricsV2Info;
1296
+ columns: Mv2Column[];
1297
+ rows: {
1298
+ [key: string]: any;
1299
+ }[];
1300
+ total: number;
1301
+ sortKey: string;
1302
+ sortDesc: boolean;
1303
+ }
1304
+ declare class AdmMetricsV2Component {
1305
+ dateExts: DateService;
1306
+ lc: LocalizationService;
1307
+ private localStorage;
1308
+ private intercom;
1309
+ private route;
1310
+ private adms;
1311
+ readonly Max = 12;
1312
+ readonly Type: typeof MetricV2Type;
1313
+ source: Source;
1314
+ liveMinutes: string;
1315
+ filterfrom: string;
1316
+ filterto: string;
1317
+ snapFromId: string;
1318
+ snapToId: string;
1319
+ instances: string[];
1320
+ view: string;
1321
+ paused: boolean;
1322
+ lastUpdate: Date;
1323
+ catalog: MetricsV2Info[];
1324
+ groups: Mv2CatalogGroup[];
1325
+ search: string;
1326
+ selected: string[];
1327
+ catalogLoading: boolean;
1328
+ catalogError: string;
1329
+ snapshots: WorkloadSnapshot[];
1330
+ historyAvailable: boolean;
1331
+ snapshotsLoaded: boolean;
1332
+ SnapshotOptions: KeyValue[];
1333
+ warnings: string[];
1334
+ dataLoading: boolean;
1335
+ dataError: string;
1336
+ panels: Mv2Panel[];
1337
+ tiles: Mv2Tile[];
1338
+ tables: Mv2TableSection[];
1339
+ marks: Mv2Mark[];
1340
+ legend: {
1341
+ instance: string;
1342
+ color: string;
1343
+ hidden: boolean;
1344
+ }[];
1345
+ domainFrom: number;
1346
+ domainTo: number;
1347
+ viewFrom: number;
1348
+ viewTo: number;
1349
+ cursor: number;
1350
+ Sources: KeyValue[];
1351
+ LiveWindows: KeyValue[];
1352
+ Views: KeyValue[];
1353
+ Instances: KeyValue[];
1354
+ readonly Presets: string[];
1355
+ private be;
1356
+ private data;
1357
+ private seen;
1358
+ private hidden;
1359
+ private alts;
1360
+ private dataGeneration;
1361
+ private catalogGeneration;
1362
+ private refreshTimer;
1363
+ private selectionTimer;
1364
+ private datesTimer;
1365
+ private readonly visibilityHandler;
1366
+ readonly format: (value: number) => string;
1367
+ constructor(dateExts: DateService, lc: LocalizationService, localStorage: PreferencesService, intercom: InterComService, route: ActivatedRoute, adms: AdminModuleBaseService);
1368
+ ngOnInit(): Promise<void>;
1369
+ ngOnDestroy(): void;
1370
+ get clusterLabel(): string;
1371
+ get zone(): string;
1372
+ setSource(id: string): void;
1373
+ setLiveMinutes(id: string): void;
1374
+ datesChanged(): void;
1375
+ snapshotsChanged(): void;
1376
+ instancesChanged(ids: string[]): Promise<void>;
1377
+ setView(id: string): void;
1378
+ togglePause(): void;
1379
+ private loadCatalog;
1380
+ buildGroups(): void;
1381
+ isSelected(name: string): boolean;
1382
+ canSelect(name: string): boolean;
1383
+ toggleMetric(name: string): void;
1384
+ addItems(entry: Mv2CatalogEntry): void;
1385
+ clearSelection(): void;
1386
+ applyPreset(name: string): void;
1387
+ removeMetric(name: string): void;
1388
+ private selectionChanged;
1389
+ catalogUnit(info: MetricsV2Info): string;
1390
+ addItemsLabel(entry: Mv2CatalogEntry): string;
1391
+ emptyLabel(name: string): string;
1392
+ instancesLabel(info: MetricsV2Info): string;
1393
+ private loadSnapshots;
1394
+ private defaultSnapshots;
1395
+ get snapshotWindow(): {
1396
+ from: Date;
1397
+ to: Date;
1398
+ };
1399
+ private updateWarnings;
1400
+ private request;
1401
+ loadData(): Promise<void>;
1402
+ private refresh;
1403
+ private merge;
1404
+ private setDomain;
1405
+ get chartFrom(): number;
1406
+ get chartTo(): number;
1407
+ zoomTo(range: {
1408
+ from: number;
1409
+ to: number;
1410
+ }): void;
1411
+ resetZoom(): void;
1412
+ toggleInstance(instance: string): void;
1413
+ setAlt(panel: Mv2Panel, alt: string): void;
1414
+ info(name: string): MetricsV2Info;
1415
+ color(instance: string): string;
1416
+ private rebuild;
1417
+ private visibleSeries;
1418
+ private buildMarks;
1419
+ private points;
1420
+ private main;
1421
+ mainUnit(info: MetricsV2Info): string;
1422
+ private buildPanel;
1423
+ private itemsOf;
1424
+ private buildCharts;
1425
+ private percentileBand;
1426
+ private bucketed;
1427
+ private stacked;
1428
+ private itemLines;
1429
+ private buildTile;
1430
+ private buildTable;
1431
+ sortBy(section: Mv2TableSection, column: Mv2Column): void;
1432
+ private sortRows;
1433
+ shownRows(section: Mv2TableSection): {
1434
+ [key: string]: any;
1435
+ }[];
1436
+ cell(row: {
1437
+ [key: string]: any;
1438
+ }, column: Mv2Column): string;
1439
+ exportCsv(section: Mv2TableSection): void;
1440
+ private visibilityChanged;
1441
+ private errorMessage;
1442
+ number(value: number): string;
1443
+ durationLabel(unit: string): string;
1444
+ rateLabel(unit: string): string;
1445
+ parseUtc(value: string): Date;
1446
+ private time;
1447
+ private isoUtc;
1448
+ local(value: Date | string): string;
1449
+ hhmmss(date: Date): string;
1450
+ private setLastDay;
1451
+ private toDate;
1452
+ private fmt;
1453
+ private saveSettings;
1454
+ static ɵfac: i0.ɵɵFactoryDeclaration<AdmMetricsV2Component, never>;
1455
+ static ɵcmp: i0.ɵɵComponentDeclaration<AdmMetricsV2Component, "metrics_v2", never, {}, {}, never, never, false, never>;
1456
+ }
1457
+
575
1458
  declare class AdmTopActivitiesComponent {
576
1459
  dateExts: DateService;
577
1460
  lc: LocalizationService;
@@ -718,6 +1601,7 @@ declare class AdmTopActivityV2Component {
718
1601
  setLimit(id: string): void;
719
1602
  setRefresh(id: string): void;
720
1603
  search(): Promise<void>;
1604
+ private showError;
721
1605
  private buildRequest;
722
1606
  private applyResult;
723
1607
  onChartLoaded(chart: BaseChartComponent<any>): void;
@@ -965,7 +1849,16 @@ declare class FormatTimePipe implements PipeTransform {
965
1849
  static ɵpipe: i0.ɵɵPipeDeclaration<FormatTimePipe, "format_time", true>;
966
1850
  }
967
1851
 
1852
+ declare class ProfilerFormatPipe implements PipeTransform {
1853
+ transform(value: number, kind: "dur" | "int" | "pct"): string;
1854
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProfilerFormatPipe, never>;
1855
+ static ɵpipe: i0.ɵɵPipeDeclaration<ProfilerFormatPipe, "pv2fmt", true>;
1856
+ }
1857
+
968
1858
  declare const topActivityV2Enabled: CanMatchFn;
1859
+ declare const profilerV2Enabled: CanMatchFn;
1860
+ declare const workloadReportV2Enabled: CanMatchFn;
1861
+ declare const metricsV2Enabled: CanMatchFn;
969
1862
  declare const routeConfig: {
970
1863
  path: string;
971
1864
  children: ({
@@ -976,6 +1869,14 @@ declare const routeConfig: {
976
1869
  internalNavigation: boolean;
977
1870
  };
978
1871
  canMatch?: undefined;
1872
+ } | {
1873
+ path: string;
1874
+ component: typeof AdmProfilerV2Component;
1875
+ canMatch: CanMatchFn[];
1876
+ data: {
1877
+ title: string;
1878
+ internalNavigation: boolean;
1879
+ };
979
1880
  } | {
980
1881
  path: string;
981
1882
  component: typeof AdmProfilerComponent;
@@ -984,6 +1885,14 @@ declare const routeConfig: {
984
1885
  internalNavigation: boolean;
985
1886
  };
986
1887
  canMatch?: undefined;
1888
+ } | {
1889
+ path: string;
1890
+ component: typeof AdmWorkloadV2Component;
1891
+ canMatch: CanMatchFn[];
1892
+ data: {
1893
+ title: string;
1894
+ internalNavigation: boolean;
1895
+ };
987
1896
  } | {
988
1897
  path: string;
989
1898
  component: typeof AdmTopActivityV2Component;
@@ -1000,6 +1909,14 @@ declare const routeConfig: {
1000
1909
  internalNavigation: boolean;
1001
1910
  };
1002
1911
  canMatch?: undefined;
1912
+ } | {
1913
+ path: string;
1914
+ component: typeof AdmMetricsV2Component;
1915
+ canMatch: CanMatchFn[];
1916
+ data: {
1917
+ title: string;
1918
+ internalNavigation: boolean;
1919
+ };
1003
1920
  } | {
1004
1921
  path: string;
1005
1922
  component: typeof AdmMetricsComponent;
@@ -1062,13 +1979,16 @@ declare class AdmModule {
1062
1979
  private commService;
1063
1980
  constructor(commService: AdminModuleCommService);
1064
1981
  static ɵfac: i0.ɵɵFactoryDeclaration<AdmModule, never>;
1065
- static ɵmod: i0.ɵɵNgModuleDeclaration<AdmModule, [typeof AdmWrkComponent, typeof AdmProfilerComponent, typeof AdmTopActivitiesComponent, typeof AdmTopActivityV2Component, typeof SessionDetailComponent, typeof AdmDynamicViewsComponent, typeof AdmLogsComponent, typeof AdmAuditsComponent, typeof AdmEnqComponent, typeof AdmMetricsComponent, typeof NodeDetailComponent, typeof MtdQueryComponent, typeof AdmSystemParametersComponent], [typeof i14.CommonModule, typeof i15.FormsModule, typeof i16.ModalModule, typeof i17.TooltipModule, typeof i18.BsDropdownModule, typeof i19.ContextMenuModule, typeof i20.LocalizationModule, typeof i21.ExtensionsModule, typeof i22.EsTableModule, typeof i23.FormsAndValidationsModule, typeof i24.EsGertrudeModule, typeof i25.EsChartsModule, typeof i26.ComponentsModule, typeof i27.DirectivesModule, typeof i28.RouterModule, typeof FormatTimePipe], never>;
1982
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AdmModule, [typeof AdmWrkComponent, typeof AdmProfilerComponent, typeof AdmProfilerV2Component, typeof AdmWorkloadV2Component, typeof AdmMetricsV2Component, typeof MetricsV2ChartComponent, typeof AdmTopActivitiesComponent, typeof AdmTopActivityV2Component, typeof SessionDetailComponent, typeof AdmDynamicViewsComponent, typeof AdmLogsComponent, typeof AdmAuditsComponent, typeof AdmEnqComponent, typeof AdmMetricsComponent, typeof NodeDetailComponent, typeof MtdQueryComponent, typeof AdmSystemParametersComponent], [typeof i18.CommonModule, typeof i19.FormsModule, typeof i20.ModalModule, typeof i21.TooltipModule, typeof i22.BsDropdownModule, typeof i23.ContextMenuModule, typeof i24.LocalizationModule, typeof i25.ExtensionsModule, typeof i26.EsTableModule, typeof i27.FormsAndValidationsModule, typeof i28.EsGertrudeModule, typeof i29.EsChartsModule, typeof i30.ComponentsModule, typeof i31.DirectivesModule, typeof i32.RouterModule, typeof FormatTimePipe, typeof ProfilerFormatPipe], never>;
1066
1983
  static ɵinj: i0.ɵɵInjectorDeclaration<AdmModule>;
1067
1984
  }
1068
1985
 
1069
1986
  declare const ADM_MODULE_PATH: InjectionToken<string>;
1070
1987
  declare const ADM_CONVERSATIONS: InjectionToken<boolean>;
1071
1988
  declare const ADM_TOPACT_V2: InjectionToken<boolean>;
1989
+ declare const ADM_PROFILER_V2: InjectionToken<boolean>;
1990
+ declare const ADM_WORKLOAD_V2: InjectionToken<boolean>;
1991
+ declare const ADM_METRICS_V2: InjectionToken<boolean>;
1072
1992
 
1073
1993
  /** Chiave di questo modulo, da utilizzare per i messaggi */
1074
1994
  declare const MK_ADM = "EsAdminModule";
@@ -1077,4 +1997,4 @@ declare enum AdmMessageTypes {
1077
1997
  Message = 0
1078
1998
  }
1079
1999
 
1080
- export { ADM_CONVERSATIONS, ADM_MODULE_PATH, ADM_TOPACT_V2, AdmMessageTypes, AdmModule, MK_ADM, routeConfig, topActivityV2Enabled };
2000
+ export { ADM_CONVERSATIONS, ADM_METRICS_V2, ADM_MODULE_PATH, ADM_PROFILER_V2, ADM_TOPACT_V2, ADM_WORKLOAD_V2, AdmMessageTypes, AdmModule, MK_ADM, metricsV2Enabled, profilerV2Enabled, routeConfig, topActivityV2Enabled, workloadReportV2Enabled };