Documentation
¶
Overview ¶
Package jaeger provides a plugin to generate and include a jaeger collector instance in a Blueprint application.
Wiring Spec Usage ¶
To instantiate a Jaeger container:
collector := jaeger.Collector(spec, "jaeger")
The returned `collector` must be used as an argument to the `opentelemetry.Instrument(spec, serviceName, collector)` to ensure the spans generated by instrumented services are correctly exported to the instantiated server.
Artifacts Generated ¶
- The package generates a jaeger docker container that provides the server-side implementation of the Jaeger collector.
- Instantiates a JaegerTracer instance for configuring the opentelemetry runtime libraries to export all generated traces to the Jaeger collector.
Index ¶
- func Collector(spec wiring.WiringSpec, collectorName string) string
- type JaegerCollectorClient
- func (node *JaegerCollectorClient) AddInstantiation(builder golang.NamespaceBuilder) error
- func (node *JaegerCollectorClient) AddInterfaces(builder golang.ModuleBuilder) error
- func (node *JaegerCollectorClient) AddToWorkspace(builder golang.WorkspaceBuilder) error
- func (node *JaegerCollectorClient) GetInterface(ctx ir.BuildContext) (service.ServiceInterface, error)
- func (node *JaegerCollectorClient) ImplementsGolangNode()
- func (node *JaegerCollectorClient) ImplementsOTCollectorClient()
- func (node *JaegerCollectorClient) Name() string
- func (node *JaegerCollectorClient) String() string
- type JaegerCollectorContainer
- func (node *JaegerCollectorContainer) AddContainerArtifacts(targer docker.ContainerWorkspace) error
- func (node *JaegerCollectorContainer) AddContainerInstance(target docker.ContainerWorkspace) error
- func (node *JaegerCollectorContainer) GetInterface(ctx ir.BuildContext) (service.ServiceInterface, error)
- func (node *JaegerCollectorContainer) Name() string
- func (node *JaegerCollectorContainer) String() string
- type JaegerInterface
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Collector ¶
func Collector(spec wiring.WiringSpec, collectorName string) string
Collector can be used by wiring specs to instantiate a jaeger docker container named `collectorName` that uses the latest jaeger:all-in-one container and generates the clients needed by the generated application to communicate with the server.
The returned collectorName must be used as an argument to the opentelemetry.Instrument(spec, serviceName, `collectorName`) to ensure the spans generated by instrumented services are correctly exported to the instantiated server.
Wiring Spec Usage ¶
jaeger.Collector(spec, "jaeger")
Types ¶
type JaegerCollectorClient ¶
type JaegerCollectorClient struct { golang.Node service.ServiceNode golang.Instantiable ClientName string ServerDial *address.DialConfig InstanceName string Spec *workflowspec.Service }
Blueprint IR node representing a client to the jaeger container
func (*JaegerCollectorClient) AddInstantiation ¶
func (node *JaegerCollectorClient) AddInstantiation(builder golang.NamespaceBuilder) error
Implements golang.Instantiable
func (*JaegerCollectorClient) AddInterfaces ¶
func (node *JaegerCollectorClient) AddInterfaces(builder golang.ModuleBuilder) error
Implements golang.ProvidesInterface
func (*JaegerCollectorClient) AddToWorkspace ¶
func (node *JaegerCollectorClient) AddToWorkspace(builder golang.WorkspaceBuilder) error
Implements golang.ProvidesModule
func (*JaegerCollectorClient) GetInterface ¶
func (node *JaegerCollectorClient) GetInterface(ctx ir.BuildContext) (service.ServiceInterface, error)
Implements service.ServiceNode
func (*JaegerCollectorClient) ImplementsGolangNode ¶
func (node *JaegerCollectorClient) ImplementsGolangNode()
func (*JaegerCollectorClient) ImplementsOTCollectorClient ¶
func (node *JaegerCollectorClient) ImplementsOTCollectorClient()
func (*JaegerCollectorClient) Name ¶
func (node *JaegerCollectorClient) Name() string
Implements ir.IRNode
func (*JaegerCollectorClient) String ¶
func (node *JaegerCollectorClient) String() string
Implements ir.IRNode
type JaegerCollectorContainer ¶
type JaegerCollectorContainer struct { docker.Container CollectorName string BindAddr *address.BindConfig UIBindAddr *address.BindConfig Iface *goparser.ParsedInterface }
Blueprint IR node that represents the Jaeger container
func (*JaegerCollectorContainer) AddContainerArtifacts ¶
func (node *JaegerCollectorContainer) AddContainerArtifacts(targer docker.ContainerWorkspace) error
func (*JaegerCollectorContainer) AddContainerInstance ¶
func (node *JaegerCollectorContainer) AddContainerInstance(target docker.ContainerWorkspace) error
func (*JaegerCollectorContainer) GetInterface ¶
func (node *JaegerCollectorContainer) GetInterface(ctx ir.BuildContext) (service.ServiceInterface, error)
func (*JaegerCollectorContainer) Name ¶
func (node *JaegerCollectorContainer) Name() string
func (*JaegerCollectorContainer) String ¶
func (node *JaegerCollectorContainer) String() string
type JaegerInterface ¶
type JaegerInterface struct { service.ServiceInterface Wrapped service.ServiceInterface }
Jaeger interface exposed to the application.
func (*JaegerInterface) GetMethods ¶
func (j *JaegerInterface) GetMethods() []service.Method
func (*JaegerInterface) GetName ¶
func (j *JaegerInterface) GetName() string