visualisation

package
v0.0.0-...-914315b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 22, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// PWD is the current working directory
	PWD = common.GetWorkDir() + "/pkg/visualisation/"
)

Functions

func ConvertNetworkJSONToImage

func ConvertNetworkJSONToImage(jsonFileOld string, jsonFileNew string, output string, appName string) error

ConvertNetworkJSONToImage converts the summary network JSON data to a plantuml image

func ConvertSysJSONToImage

func ConvertSysJSONToImage(jsonFile string, output string, appName string) error

ConvertSysJSONToImage converts the summary system JSON data to a plantuml image

func ConvertVndToPlantUML

func ConvertVndToPlantUML(vnd *VisualNetworkData, appName string) error

ConvertVndToPlantUML Convert a VisualNetworkData object to a PlantUML format and save it in net.puml

Types

type EgressConnection

type EgressConnection struct {
	Protocol    string `json:"Protocol,omitempty"`
	Command     string `json:"Command,omitempty"`
	IP          string `json:"IP,omitempty"`
	Port        string `json:"Port,omitempty"`
	Labels      string `json:"Labels,omitempty"`
	Namespace   string `json:"Namespace,omitempty"`
	Count       string `json:"Count,omitempty"`
	UpdatedTime string `json:"UpdatedTime,omitempty"`
}

EgressConnection Structure

type FileData

type FileData struct {
	Source      string `json:"Source,omitempty"`
	Destination string `json:"Destination,omitempty"`
	Count       string `json:"Count,omitempty"`
	UpdatedTime string `json:"UpdatedTime,omitempty"`
	Status      string `json:"Status,omitempty"`
}

FileData Structure

type IngressConnection

type IngressConnection struct {
	Protocol    string `json:"Protocol,omitempty"`
	Command     string `json:"Command,omitempty"`
	IP          string `json:"IP,omitempty"`
	Port        string `json:"Port,omitempty"`
	Labels      string `json:"Labels,omitempty"`
	Namespace   string `json:"Namespace,omitempty"`
	Count       string `json:"Count,omitempty"`
	UpdatedTime string `json:"UpdatedTime,omitempty"`
}

IngressConnection Structure

type ProcessData

type ProcessData struct {
	Source      string `json:"Source,omitempty"`
	Destination string `json:"Destination,omitempty"`
	Count       string `json:"Count,omitempty"`
	UpdatedTime string `json:"UpdatedTime,omitempty"`
	Status      string `json:"Status,omitempty"`
}

ProcessData Structure

type SummaryData

type SummaryData struct {
	DeploymentName    string              `json:"DeploymentName"`
	PodName           string              `json:"PodName"`
	ClusterName       string              `json:"ClusterName"`
	Namespace         string              `json:"Namespace"`
	Label             string              `json:"Label"`
	ProcessData       []ProcessData       `json:"ProcessData,omitempty"`
	FileData          []FileData          `json:"FileData,omitempty"`
	IngressConnection []IngressConnection `json:"IngressConnection,omitempty"`
	EgressConnection  []EgressConnection  `json:"EgressConnection,omitempty"`
}

SummaryData Structure

func ParseSummaryData

func ParseSummaryData(path string) []*SummaryData

ParseSummaryData parses the summary data and returns a slice of SummaryData objects

type VisualNetworkData

type VisualNetworkData struct {
	/**
	 * 1. NsIps, eg.:
	 	package "namespace: default" {
			[pod/sd-ran-consensus-1] #Lightblue
			[pod/sd-ran-consensus-2] #Lightblue
	 	}
	*/
	NsIps map[string][]string // Array of :namespace -> [Ip1 #color, Ip2 #color, ...]
	/**
	 * 2. Connections, eg.:
	 	[pod/sd-ran-consensus-1] -[#blue]-> [pod/sd-ran-consensus-2] : TCP/8080
		[pod/calico-node-ztkhd] -[#blue]-> [pod/sd-ran-consensus-2] : TCP/3550
	*/
	Connections []string // Array of: [source] -[#blue]-> [destination] : protocol/port
}

VisualNetworkData Structure

func ParseNetworkData

func ParseNetworkData(sdOlds, sdNews []*SummaryData, appName string) *VisualNetworkData

ParseNetworkData parses the summary data and returns a VisualNetworkData object

type VisualSysData

type VisualSysData struct {
	Name        string                       `json:"Name"`
	Namespace   string                       `json:"Namespace"`
	AppName     string                       `json:"AppName"`
	Labels      []string                     `json:"Labels,omitempty"`
	ProcessData map[string]map[string]string `json:"Process,omitempty"`
	FileData    map[string]string            `json:"File,omitempty"`
	NetworkData map[string]map[string]string `json:"Network,omitempty"`
}

VisualSysData Structure

func ParseSysData

func ParseSysData(summaryDatas []*SummaryData, appName string) *VisualSysData

ParseSysData parses the summary data and returns a VisualSysData object

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL