feat: support the process dashboard and create the time range text widget (#138)

This commit is contained in:
Fine0830
2022-08-15 16:49:00 +08:00
committed by GitHub
parent 973b51e9ca
commit 9c0bb988e6
44 changed files with 1133 additions and 213 deletions

View File

@@ -33,12 +33,15 @@ export const createEBPFTask = {
}`,
};
export const queryEBPFTasks = {
variable: "$serviceId: ID!",
variable:
"$serviceId: ID, $serviceInstanceId: ID, $targets: [EBPFProfilingTargetType!]",
query: `
queryEBPFTasks: queryEBPFProfilingTasks(serviceId: $serviceId) {
queryEBPFTasks: queryEBPFProfilingTasks(serviceId: $serviceId, serviceInstanceId: $serviceInstanceId, targets: $targets) {
taskId
serviceName
serviceId
serviceInstanceId
serviceInstanceName
processLabels
taskStartTime
triggerType
@@ -90,3 +93,22 @@ export const analysisEBPFResult = {
}
}`,
};
export const createNetworkProfiling = {
variable: "$request: EBPFProfilingNetworkTaskRequest!",
query: `
createEBPFNetworkProfiling(request: $request) {
status
errorReason
id
}`,
};
export const keepNetworkProfiling = {
variable: "$taskId: ID!",
query: `
keepEBPFNetworkProfiling(taskId: $taskId) {
status
errorReason
}`,
};

View File

@@ -48,6 +48,29 @@ export const Instances = {
}
`,
};
export const Processes = {
variable: "$instanceId: ID!, $duration: Duration!",
query: `
processes: listProcesses(instanceId: $instanceId, duration: $duration) {
id
value: name
label: name
serviceId
serviceName
instanceId
instanceName
agentId
detectType
attributes {
name
value
}
labels
}
`,
};
export const Endpoints = {
variable: "$serviceId: ID!, $keyword: String!",
query: `
@@ -102,3 +125,24 @@ export const getEndpoint = {
}
`,
};
export const getProcess = {
variable: "$processId: ID!",
query: `
process: getProcess(processId: $processId) {
id
value: name
label: name
serviceId
serviceName
instanceId
instanceName
agentId
detectType
attributes {
name
value
}
}
`,
};

View File

@@ -75,3 +75,26 @@ export const InstanceTopology = {
}
`,
};
export const ProcessTopology = {
variable: "$serviceInstanceId: ID!, $duration: Duration!",
query: `
topology: getProcessTopology(serviceInstanceId: $serviceInstanceId,
duration: $duration) {
nodes {
id
name
isReal
serviceName
serviceId
serviceInstanceId
serviceInstanceName
}
calls {
id
source
detectPoints
target
}
}
`,
};

View File

@@ -21,6 +21,8 @@ import {
queryEBPFTasks,
queryEBPFSchedules,
analysisEBPFResult,
createNetworkProfiling,
keepNetworkProfiling,
} from "../fragments/ebpf";
export const getCreateTaskData = `query queryCreateTaskData(${queryCreateTaskData.variable}) {${queryCreateTaskData.query}}`;
@@ -32,3 +34,7 @@ export const getEBPFTasks = `query queryEBPFTasks(${queryEBPFTasks.variable}) {$
export const getEBPFSchedules = `query queryEBPFSchedules(${queryEBPFSchedules.variable}) {${queryEBPFSchedules.query}}`;
export const getEBPFResult = `query analysisEBPFResult(${analysisEBPFResult.variable}) {${analysisEBPFResult.query}}`;
export const newNetworkProfiling = `mutation createNetworkProfiling(${createNetworkProfiling.variable}) {${createNetworkProfiling.query}}`;
export const aliveNetworkProfiling = `mutation keepNetworkProfiling(${keepNetworkProfiling.variable}) {${keepNetworkProfiling.query}}`;

View File

@@ -22,6 +22,8 @@ import {
getService,
getInstance,
getEndpoint,
Processes,
getProcess,
} from "../fragments/selector";
export const queryServices = `query queryServices(${Services.variable}) {${Services.query}}`;
@@ -31,3 +33,5 @@ export const queryLayers = `query listLayer {${Layers.query}}`;
export const queryService = `query queryService(${getService.variable}) {${getService.query}}`;
export const queryInstance = `query queryInstance(${getInstance.variable}) {${getInstance.query}}`;
export const queryEndpoint = `query queryInstance(${getEndpoint.variable}) {${getEndpoint.query}}`;
export const queryProcesses = `query queryProcesses(${Processes.variable}) {${Processes.query}}`;
export const queryProcess = `query queryProcess(${getProcess.variable}) {${getProcess.query}}`;

View File

@@ -18,8 +18,10 @@ import {
InstanceTopology,
EndpointTopology,
ServicesTopology,
ProcessTopology,
} from "../fragments/topology";
export const getInstanceTopology = `query queryData(${InstanceTopology.variable}) {${InstanceTopology.query}}`;
export const getEndpointTopology = `query queryData(${EndpointTopology.variable}) {${EndpointTopology.query}}`;
export const getServicesTopology = `query queryData(${ServicesTopology.variable}) {${ServicesTopology.query}}`;
export const getProcessTopology = `query queryData(${ProcessTopology.variable}) {${ProcessTopology.query}}`;