Documentation ¶
Index ¶
- Variables
- func AddSpanError(span trace.Span, err error)
- func AddSpanEvents(span trace.Span, name string, events map[string]string)
- func AddSpanTags(span trace.Span, tags map[string]string)
- func AgentEndpoint(config ProviderConfig) (*jaeger.Exporter, error)
- func CollectorEndpoint(config ProviderConfig) (*jaeger.Exporter, error)
- func FailSpan(span trace.Span, msg string)
- func NewSpan(ctx context.Context, name string, cus SpanCustomiser) (context.Context, trace.Span)
- func SpanFromContext(ctx context.Context) trace.Span
- type Provider
- type ProviderConfig
- type SpanCustomiser
Constants ¶
This section is empty.
Variables ¶
var (
Log = logging.Log
)
Functions ¶
func AddSpanError ¶
Ошибка добавления диапазона добавляет новое событие в диапазон. Он появится в разделе "Журналы" выбранного диапазона. Это не приведет к тому, что промежуток будет помечен как "неудачный". Используйте это, если вы считаете, что вам следует регистрировать любые исключения, такие как критические, ошибки, предупреждения, предостережения и т.д. Избегайте регистрации конфиденциальных данных!
func AddSpanEvents ¶
AddSpanEvents добавляет новые события в диапазон. Он появится в разделе "Журналы" выбранного диапазона. Используйте это, если событие может означать что-то ценное во время отладки.
func AddSpanTags ¶
Добавить теги диапазона добавляет новые теги в диапазон. Он появится в разделе "Теги" выбранного диапазона. Используйте это, если вы считаете, что тег и его значение могут быть полезны при отладке.
func AgentEndpoint ¶
func AgentEndpoint(config ProviderConfig) (*jaeger.Exporter, error)
func CollectorEndpoint ¶
func CollectorEndpoint(config ProviderConfig) (*jaeger.Exporter, error)
func FailSpan ¶
Интервал сбоя помечает интервал как "сбой" и добавляет метку "ошибка" в указанную трассировку. Используйте это после вызова функции `AddSpanError`, чтобы для нее было зарегистрировано какое-то соответствующее исключение.
func NewSpan ¶
Новый диапазон возвращает новый диапазон из глобального трассировщика. В зависимости от аргумента "cus" диапазон может быть либо простым, либо настраиваемым. Каждый результирующий интервал должен быть завершен с помощью функции `defer span.End()` сразу после вызова.
func SpanFromContext ¶
Интервал из контекста возвращает текущий интервал из контекста. Если вы хотите избежать создания дочерних интервалов для каждой операции и просто полагаться на родительский интервал, используйте эту функцию во всем приложении. При такой практике вы получите более плоское дерево пролетов, в отличие от более глубокой версии. Вы всегда можете смешивать и сочетать обе функции.
Types ¶
type Provider ¶
type Provider struct {
// contains filtered or unexported fields
}
Поставщик представляет поставщика трассировщика. В зависимости от конфигурации.Параметр "Отключен", он будет использовать либо "живого" поставщика, либо версию "без операций". "Никаких операций" означает, что отслеживание будет отключено глобально.
func NewProvider ¶
func NewProvider(config ProviderConfig) (Provider, error)
New возвращает новый тип "Поставщик`. Он использует экспортер Jaeger и глобально устанавливает поставщика трассировщика, а также глобальный трассировщик для пролетов.
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 используется для применения пользовательских параметров диапазона. Любой пользовательский тип настройщика бетонных пролетов должен реализовывать этот интерфейс.