mirror of
https://github.com/weaveworks/scope.git
synced 2026-03-03 18:20:27 +00:00
Also: - build a custom URL matcher to cope with container image names having a encoded forward slash in them. - escape node ids in the UI when constructing URLs. - add a test which fetches all the nodes of all topologies, and update report fixture to have slash in container image names.
87 lines
2.2 KiB
Go
87 lines
2.2 KiB
Go
package render
|
|
|
|
import (
|
|
"github.com/weaveworks/scope/report"
|
|
)
|
|
|
|
// EndpointRenderer is a Renderer which produces a renderable endpoint graph.
|
|
var EndpointRenderer = LeafMap{
|
|
Selector: report.SelectEndpoint,
|
|
Mapper: MapEndpointIdentity,
|
|
Pseudo: GenericPseudoNode(report.EndpointIDAddresser),
|
|
}
|
|
|
|
// ProcessRenderer is a Renderer which produces a renderable process
|
|
// graph by merging the endpoint graph and the process topology.
|
|
var ProcessRenderer = MakeReduce(
|
|
Map{
|
|
MapFunc: MapEndpoint2Process,
|
|
Renderer: EndpointRenderer,
|
|
},
|
|
LeafMap{
|
|
Selector: report.SelectProcess,
|
|
Mapper: MapProcessIdentity,
|
|
Pseudo: PanicPseudoNode,
|
|
},
|
|
)
|
|
|
|
// ProcessRenderer is a Renderer which produces a renderable process
|
|
// name graph by munging the progess graph.
|
|
var ProcessNameRenderer = Map{
|
|
MapFunc: MapProcess2Name,
|
|
Renderer: ProcessRenderer,
|
|
}
|
|
|
|
// ContainerRenderer is a Renderer which produces a renderable container
|
|
// graph by merging the process graph and the container topology.
|
|
var ContainerRenderer = MakeReduce(
|
|
Map{
|
|
MapFunc: MapProcess2Container,
|
|
Renderer: ProcessRenderer,
|
|
},
|
|
LeafMap{
|
|
Selector: report.SelectContainer,
|
|
Mapper: MapContainerIdentity,
|
|
Pseudo: PanicPseudoNode,
|
|
},
|
|
)
|
|
|
|
// ContainerImageRenderer is a Renderer which produces a renderable container
|
|
// image graph by merging the container graph and the container image topology.
|
|
var ContainerImageRenderer = Map{
|
|
MapFunc: MapContainerImage2Name,
|
|
Renderer: MakeReduce(
|
|
Map{
|
|
MapFunc: MapContainer2ContainerImage,
|
|
Renderer: ContainerRenderer,
|
|
},
|
|
LeafMap{
|
|
Selector: report.SelectContainerImage,
|
|
Mapper: MapContainerImageIdentity,
|
|
Pseudo: PanicPseudoNode,
|
|
},
|
|
),
|
|
}
|
|
|
|
// AddressRenderer is a Renderer which produces a renderable address
|
|
// graph from the address topology.
|
|
var AddressRenderer = LeafMap{
|
|
Selector: report.SelectAddress,
|
|
Mapper: MapAddressIdentity,
|
|
Pseudo: GenericPseudoNode(report.AddressIDAddresser),
|
|
}
|
|
|
|
// HostRenderer is a Renderer which produces a renderable host
|
|
// graph from the host topology and address graph.
|
|
var HostRenderer = MakeReduce(
|
|
Map{
|
|
MapFunc: MapAddress2Host,
|
|
Renderer: AddressRenderer,
|
|
},
|
|
LeafMap{
|
|
Selector: report.SelectHost,
|
|
Mapper: MapHostIdentity,
|
|
Pseudo: PanicPseudoNode,
|
|
},
|
|
)
|