go_trace_lib

package module
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 2022 License: Apache-2.0 Imports: 12 Imported by: 7

README

go-trace-lib

Jaeger trace for app & http

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Log = logging.Log
)

Functions

func AddSpanError

func AddSpanError(span trace.Span, err error)

Ошибка добавления диапазона добавляет новое событие в диапазон. Он появится в разделе "Журналы" выбранного диапазона. Это не приведет к тому, что промежуток будет помечен как "неудачный". Используйте это, если вы считаете, что вам следует регистрировать любые исключения, такие как критические, ошибки, предупреждения, предостережения и т.д. Избегайте регистрации конфиденциальных данных!

func AddSpanEvents

func AddSpanEvents(span trace.Span, name string, events map[string]string)

AddSpanEvents добавляет новые события в диапазон. Он появится в разделе "Журналы" выбранного диапазона. Используйте это, если событие может означать что-то ценное во время отладки.

func AddSpanTags

func AddSpanTags(span trace.Span, tags map[string]string)

Добавить теги диапазона добавляет новые теги в диапазон. Он появится в разделе "Теги" выбранного диапазона. Используйте это, если вы считаете, что тег и его значение могут быть полезны при отладке.

func AgentEndpoint

func AgentEndpoint(config ProviderConfig) (*jaeger.Exporter, error)

func CollectorEndpoint

func CollectorEndpoint(config ProviderConfig) (*jaeger.Exporter, error)

func FailSpan

func FailSpan(span trace.Span, msg string)

Интервал сбоя помечает интервал как "сбой" и добавляет метку "ошибка" в указанную трассировку. Используйте это после вызова функции `AddSpanError`, чтобы для нее было зарегистрировано какое-то соответствующее исключение.

func NewSpan

func NewSpan(ctx context.Context, name string, cus SpanCustomiser) (context.Context, trace.Span)

Новый диапазон возвращает новый диапазон из глобального трассировщика. В зависимости от аргумента "cus" диапазон может быть либо простым, либо настраиваемым. Каждый результирующий интервал должен быть завершен с помощью функции `defer span.End()` сразу после вызова.

func SpanFromContext

func SpanFromContext(ctx context.Context) trace.Span

Интервал из контекста возвращает текущий интервал из контекста. Если вы хотите избежать создания дочерних интервалов для каждой операции и просто полагаться на родительский интервал, используйте эту функцию во всем приложении. При такой практике вы получите более плоское дерево пролетов, в отличие от более глубокой версии. Вы всегда можете смешивать и сочетать обе функции.

Types

type Provider

type Provider struct {
	// contains filtered or unexported fields
}

Поставщик представляет поставщика трассировщика. В зависимости от конфигурации.Параметр "Отключен", он будет использовать либо "живого" поставщика, либо версию "без операций". "Никаких операций" означает, что отслеживание будет отключено глобально.

func NewProvider

func NewProvider(config ProviderConfig) (Provider, error)

New возвращает новый тип "Поставщик`. Он использует экспортер Jaeger и глобально устанавливает поставщика трассировщика, а также глобальный трассировщик для пролетов.

func (Provider) Close

func (p Provider) Close(ctx context.Context) error

Закрыть поставщика трассировщика только в том случае, если это не была версия "без операций".

type ProviderConfig

type ProviderConfig struct {
	JaegerEndpoint string `json:"jaeger_endpoint,omitempty" yaml:"jaeger_endpoint"`
	JaegerHost     string `json:"jaeger_host,omitempty" yaml:"jaeger_host"`
	JaegerPort     string `json:"jaeger_port,omitempty" yaml:"jaeger_port"`
	ServiceName    string `json:"service_name,omitempty" yaml:"service_name"`
	ServiceVersion string `json:"service_version,omitempty" yaml:"service_version"`
	Environment    string `json:"environment,omitempty" yaml:"environment"`
	Disabled       bool   `json:"disabled,omitempty" yaml:"disabled"`
}

ProviderConfig представляет конфигурацию поставщика и используется для создания нового типа "Поставщик".

type SpanCustomiser

type SpanCustomiser interface {
	// contains filtered or unexported methods
}

SpanCustomiser используется для применения пользовательских параметров диапазона. Любой пользовательский тип настройщика бетонных пролетов должен реализовывать этот интерфейс.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL