Skip to content

Latest commit

 

History

History

jaeger

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

jaeger

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.

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

  1. The package generates a jaeger docker container that provides the server-side implementation of the Jaeger collector.
  2. 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

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")

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

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