jaeger

package
v0.0.0-...-f54e1bb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 13, 2024 License: BSD-3-Clause Imports: 12 Imported by: 2

README

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

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

type JaegerCollectorClient

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

type JaegerCollectorContainer

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

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

  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

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

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 (*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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳