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, flags string, ...)
- func BadRequest(message string)
- func CheckError(err error)
- func Error(message string)
- func Forbidden(message string)
- func Id(...) (id, nodeType string)
- func IsOK(telemetryVal string) bool
- type Edge
- type NamespaceInfo
- type Node
- type Protocol
- type Rate
- type Response
- type ResponseFlags
- type Responses
- type Service
- 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
type Protocol struct { Name string EdgeRates []Rate EdgeResponses string NodeRates []Rate Unit string UnitShort string }
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}, }, EdgeResponses: grpcResponses, NodeRates: []Rate{ Rate{Name: grpcIn, IsIn: true, Precision: 2}, Rate{Name: grpcInErr, IsErr: true, Precision: 2}, Rate{Name: grpcOut, IsOut: true, Precision: 2}, }, Unit: requestsPerSecond, 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}, }, EdgeResponses: httpResponses, 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: requestsPerSecond, UnitShort: rps, }
type ResponseFlags ¶ added in v0.17.0
type Responses ¶ added in v0.17.0
type Responses map[string]ResponseFlags
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. |