[Infra UI]Adding linking support for APM (#27319)

* Fixes #26620 - Adding linking support for APM

* Fixing some weird merge artifacts

* Finalizing URL linking to APM
This commit is contained in:
Chris Cowan 2018-12-17 14:25:53 -07:00 committed by GitHub
parent 8964523f41
commit 4eb5e64758
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -25,23 +25,43 @@ interface Props {
export const NodeContextMenu = injectI18n(
({ options, timeRange, children, node, isPopoverOpen, closePopover, nodeType, intl }: Props) => {
const nodeId = node.path.length > 0 ? node.path[node.path.length - 1].value : undefined;
const nodeLogsUrl = nodeId
// Due to the changing nature of the fields between APM and this UI,
// We need to have some exceptions until 7.0 & ECS is finalized. Reference
// #26620 for the details for these fields.
// TODO: This is tech debt, remove it after 7.0 & ECS migration.
const APM_FIELDS = {
[InfraNodeType.host]: 'context.system.hostname',
[InfraNodeType.container]: 'container.id',
[InfraNodeType.pod]: 'kubernetes.pod.uid',
};
const nodeLogsUrl = node.id
? getNodeLogsUrl({
nodeType,
nodeId,
nodeId: node.id,
time: timeRange.to,
})
: undefined;
const nodeDetailUrl = nodeId
const nodeDetailUrl = node.id
? getNodeDetailUrl({
nodeType,
nodeId,
nodeId: node.id,
from: timeRange.from,
to: timeRange.to,
})
: undefined;
const apmTracesUrl = {
name: intl.formatMessage(
{
id: 'xpack.infra.nodeContextMenu.viewAPMTraces',
defaultMessage: 'View {nodeType} APM traces',
},
{ nodeType }
),
href: `../app/apm#/services?_g=()&kuery=${APM_FIELDS[nodeType]}~20~3A~20~22${node.id}~22`,
};
const panels: EuiContextMenuPanelDescriptor[] = [
{
id: 0,
@ -69,6 +89,7 @@ export const NodeContextMenu = injectI18n(
},
]
: []),
...[apmTracesUrl],
],
},
];