Documentation ¶
Overview ¶
Graph package provides support for the graph handlers such as supported path variables and query params, as well as types for graph processing.
Index ¶
- Constants
- Variables
- func AddOutgoingEdgeToMetadata(sourceMetadata, edgeMetadata map[string]interface{})
- func AddServiceGraphTraffic(toEdge, fromEdge *Edge)
- func AddToMetadata(protocol string, val float64, code string, ...)
- func BadRequest(message string)
- func CheckError(err error)
- func Error(message string)
- func Forbidden(message string)
- func Id(namespace, workload, app, version, service, graphType string) (id, nodeType string)
- func IsOK(telemetryVal string) bool
- type Edge
- type NamespaceInfo
- type Node
- type Protocol
- type Rate
- type Response
- type TrafficMap
Constants ¶
const ( GraphTypeApp string = "app" GraphTypeService string = "service" // Treated as graphType Workload, with service injection, and then condensed GraphTypeVersionedApp string = "versionedApp" GraphTypeWorkload string = "workload" NodeTypeApp string = "app" NodeTypeService string = "service" NodeTypeUnknown string = "unknown" // The special "unknown" traffic gen node NodeTypeWorkload string = "workload" TF string = "2006-01-02 15:04:05" // TF is the TimeFormat for timestamps Unknown string = "unknown" // Istio unknown label value )
Variables ¶
Functions ¶
func AddOutgoingEdgeToMetadata ¶ added in v0.14.0
func AddOutgoingEdgeToMetadata(sourceMetadata, edgeMetadata map[string]interface{})
func AddServiceGraphTraffic ¶ added in v0.14.0
func AddServiceGraphTraffic(toEdge, fromEdge *Edge)
func AddToMetadata ¶ added in v0.14.0
func BadRequest ¶ added in v0.12.0
func BadRequest(message string)
BadRequest panics with BadRequest and the provided message
func CheckError ¶ added in v0.12.0
func CheckError(err error)
CheckError panics with the supplied error if it is non-nil
func Error ¶ added in v0.12.0
func Error(message string)
Error panics with InternalServerError and the provided message
func Forbidden ¶ added in v0.12.0
func Forbidden(message string)
Forbidden panics with Forbidden and the provided message
Types ¶
type NamespaceInfo ¶ added in v0.9.1
type Node ¶ added in v0.6.0
type Node struct { ID string // unique identifier for the node NodeType string // Node type Namespace string // Namespace Workload string // Workload (deployment) name App string // Workload app label value Version string // Workload version label value Service string // Service name Edges []*Edge // child nodes Metadata map[string]interface{} // app-specific data }
func NewNodeExplicit ¶ added in v0.6.0
type Protocol ¶ added in v0.14.0
var GRPC Protocol = Protocol{ Name: "grpc", EdgeRates: []Rate{ Rate{Name: "grpc", IsTotal: true, Precision: 2}, Rate{Name: "grpcErr", IsErr: true, Precision: 2}, Rate{Name: "grpcPercentErr", IsPercentErr: true, Precision: 1}, Rate{Name: "grpcPercentReq", IsPercentReq: true, Precision: 1}, }, NodeRates: []Rate{ Rate{Name: "grpcIn", IsIn: true, Precision: 2}, Rate{Name: "grpcInErr", IsErr: true, Precision: 2}, Rate{Name: "grpcOut", IsOut: true, Precision: 2}, }, Unit: "requests per second", UnitShort: "rps", }
var HTTP Protocol = Protocol{ Name: "http", EdgeRates: []Rate{ Rate{Name: "http", IsTotal: true, Precision: 2}, Rate{Name: "http3xx", Precision: 2}, Rate{Name: "http4xx", IsErr: true, Precision: 2}, Rate{Name: "http5xx", IsErr: true, Precision: 2}, Rate{Name: "httpPercentErr", IsPercentErr: true, Precision: 1}, Rate{Name: "httpPercentReq", IsPercentReq: true, Precision: 1}, }, NodeRates: []Rate{ Rate{Name: "httpIn", IsIn: true, Precision: 2}, Rate{Name: "httpIn3xx", Precision: 2}, Rate{Name: "httpIn4xx", IsErr: true, Precision: 2}, Rate{Name: "httpIn5xx", IsErr: true, Precision: 2}, Rate{Name: "httpOut", IsOut: true, Precision: 2}, }, Unit: "requests per second", UnitShort: "rps", }
type TrafficMap ¶
TrafficMap is a map of app Nodes, each optionally holding Edge data. Metadata is a general purpose map for holding any desired node or edge information. Each app node should have a unique namespace+workload. Note that it is feasible but likely unusual to have two nodes with the same name+version in the same namespace.
func NewTrafficMap ¶
func NewTrafficMap() TrafficMap
Directories ¶
Path | Synopsis |
---|---|
Cytoscape package provides conversion from our graph to the CystoscapeJS configuration json model.
|
Cytoscape package provides conversion from our graph to the CystoscapeJS configuration json model. |
Package options holds the option settings for a single graph generation.
|
Package options holds the option settings for a single graph generation. |