import "github.com/blueprint-uservices/blueprint/plugins/jaeger"
Package jaeger provides a plugin to generate and include a jaeger collector instance in a Blueprint application.
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.
- 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.
- 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
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.
jaeger.Collector(spec, "jaeger")
Blueprint IR node representing a client to the jaeger container
type JaegerCollectorClient struct {
golang.Node
service.ServiceNode
golang.Instantiable
ClientName string
ServerDial *address.DialConfig
InstanceName string
Spec *workflowspec.Service
}
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
Blueprint IR node that represents the Jaeger container
type JaegerCollectorContainer struct {
docker.Container
CollectorName string
BindAddr *address.BindConfig
UIBindAddr *address.BindConfig
Iface *goparser.ParsedInterface
}
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
Jaeger interface exposed to the application.
type JaegerInterface struct {
service.ServiceInterface
Wrapped service.ServiceInterface
}
func (*JaegerInterface) GetMethods
func (j *JaegerInterface) GetMethods() []service.Method
func (*JaegerInterface) GetName
func (j *JaegerInterface) GetName() string
Generated by gomarkdoc