github.com/kiali/kiali@v1.84.0/graph/telemetry.go (about)

     1  package graph
     2  
     3  import (
     4  	"github.com/kiali/kiali/prometheus"
     5  )
     6  
     7  // TelemetryVendor is an interface that must be satisfied for each telemetry implementation.
     8  type TelemetryVendor interface {
     9  
    10  	// BuildNamespaceTrafficMap is required by the TelemetryVendor interface.  It must produce a valid
    11  	// TrafficMap for the requested namespaces, It is recommended to use the graph/util.go definitions for
    12  	// error handling. It should be modeled after the Istio implementation.
    13  	BuildNamespacesTrafficMap(o TelemetryOptions, client *prometheus.Client, globalInfo *AppenderGlobalInfo) TrafficMap
    14  
    15  	// BuildNodeTrafficMap is required by the TelemetryVendor interface.  It must produce a valid
    16  	// TrafficMap for the requested node, It is recommended to use the graph/util.go definitions for
    17  	// error handling. It should be modeled after the Istio implementation.
    18  	BuildNodeTrafficMap(o TelemetryOptions, client *prometheus.Client, globalInfo *AppenderGlobalInfo) TrafficMap
    19  }