diff --git a/web/src/main/angular/src/app/core/components/removable-agent-list/removable-agent-data.service.ts b/web/src/main/angular/src/app/core/components/removable-agent-list/removable-agent-data.service.ts index 1f548c17be70..0a0681d66c16 100644 --- a/web/src/main/angular/src/app/core/components/removable-agent-list/removable-agent-data.service.ts +++ b/web/src/main/angular/src/app/core/components/removable-agent-list/removable-agent-data.service.ts @@ -5,17 +5,16 @@ import { Observable } from 'rxjs'; @Injectable() export class RemovableAgentDataService { - private listUrl = 'getAgentList.pinpoint'; + private listUrl = 'agents/search-application.pinpoint'; private removeApplicationUrl = 'admin/removeApplicationName.pinpoint'; private removeAgentUrl = 'admin/removeAgentId.pinpoint'; - // private removeInactiveUrl = 'admin/removeInactiveAgents.pinpoint'; constructor( private http: HttpClient ) {} - getAgentList(appName: string): Observable { - return this.http.get(this.listUrl, { + getAgentList(appName: string): Observable { + return this.http.get(this.listUrl, { params: new HttpParams().set('application', appName) }); } diff --git a/web/src/main/angular/src/app/core/components/removable-agent-list/removable-agent-list-container.component.ts b/web/src/main/angular/src/app/core/components/removable-agent-list/removable-agent-list-container.component.ts index ceb22d310dda..a1555aaf9d6b 100644 --- a/web/src/main/angular/src/app/core/components/removable-agent-list/removable-agent-list-container.component.ts +++ b/web/src/main/angular/src/app/core/components/removable-agent-list/removable-agent-list-container.component.ts @@ -28,7 +28,7 @@ export class RemovableAgentListContainerComponent implements OnInit, OnDestroy { useDisable = false; showLoading = false; errorMessage: string; - agentList$: Observable<{[key: string]: any}>; + agentList$: Observable; selectedApplication: IApplication = null; removeAgent: string; i18nText: {[key: string]: string} = { @@ -73,15 +73,15 @@ export class RemovableAgentListContainerComponent implements OnInit, OnDestroy { ).pipe( tap(() => this.showProcessing()), switchMap(() => this.removableAgentDataService.getAgentList(this.selectedApplication.getApplicationName()).pipe( - map((data: IAgentList) => { - return Object.entries(data).reduce((acc: {[key: string]: any}[], [key, value]: [string, IAgent[]]) => { - return [...acc, ...value.map((agent: IAgent) => { + map((data: IServerAndAgentDataV2[]) => { + return data.map(({instancesList}: IServerAndAgentDataV2) => { + return instancesList.map((agent: IAgentDataV2) => { const {applicationName, hostName, agentId, agentName, agentVersion, startTimestamp, ip} = agent; const agentNameText = agentName ? agentName : 'N/A'; return {applicationName, hostName, agentId, agentNameText, agentVersion, startTimestamp, ip}; - })]; - }, []); + }) + }).flat(); }), catchError((error: IServerError) => { this.errorMessage = error.message; diff --git a/web/src/main/angular/src/globals.d.ts b/web/src/main/angular/src/globals.d.ts index a95ba5a5a54c..ddeab7b7e379 100644 --- a/web/src/main/angular/src/globals.d.ts +++ b/web/src/main/angular/src/globals.d.ts @@ -300,6 +300,7 @@ interface ISelectedRowInfo { agentId?: string; } // @store + interface IServerAndAgentData { agentId: string; agentName?: string; @@ -329,6 +330,36 @@ interface IServerAndAgentData { vmVersion: string; } +interface IServerAndAgentDataV2 { + groupName: string; + instancesList: IAgentDataV2[]; +} + +interface IAgentDataV2 { + agentId: string; + agentName: string; + agentVersion: string; + applicationName: string; + container: boolean; + hostName: string; + ip: string; + linkList: any[]; + pid: number; + ports: string; + serviceType: string; + serviceTypeCode: number; + startTimestamp: number; + status: { + agentId: string; + eventTimestamp: number; + state: { + code: number; + desc: string; + } + }; + vmVersion: string; +} + // @store interface ISyntaxHighlightData { type: string; diff --git a/web/src/main/angular/src/proxy.conf.js b/web/src/main/angular/src/proxy.conf.js index 06003a5cf5a1..14b8138febeb 100644 --- a/web/src/main/angular/src/proxy.conf.js +++ b/web/src/main/angular/src/proxy.conf.js @@ -69,7 +69,9 @@ const PROXY_CONFIG = [ "/getApplicationStat/apdexScore/chart.pinpoint", "/getAgentStat/apdexScore/chart.pinpoint", "/uriStat/top50.pinpoint", - "/uriStat/chart.pinpoint" + "/uriStat/chart.pinpoint", + "/agents/search-all", + "/agents/search-application" ], target: 'http://localhost:8080', secure: false