opencensus

package
v0.0.0-...-8d8ec1c Latest Latest
Warning

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

Go to latest
Published: Feb 18, 2022 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package opencensus - Provide functions for Opencensus integration

Index

Constants

View Source
const (
	// MWNamespace - Middleware 식별자
	MWNamespace = "mw-opencensus"
	// ContextKey - Request trace 식별자
	ContextKey = core.AppName + "-request-span"
)

Variables

Functions

func BackendFactory

func BackendFactory(bf proxy.BackendFactory) proxy.BackendFactory

BackendFactory - Opencensus Trace와 연동되는 Backend Call chain 구성을 위한 팩토리

func CallChain

func CallChain(tag string, isBypass bool, url string) proxy.CallChain

CallChain - 지정한 이름을 기준으로 순차적으로 실행되는 Call chain 함수 반환

func HTTPRequestExecutor

HTTPRequestExecutor - Backend에 대한 Trace 가 활성화된 경우에 사용할 Opencensus의 Trace 정보를 사용하는 HTTP Request Executor 반환

func IsBackendEnabled

func IsBackendEnabled() bool

IsBackendEnabled - Backend Layer 활성화 여부

func IsProxyEnabled

func IsProxyEnabled() bool

IsProxyEnabled - Proxy Layer 활성화 여부

func IsRouterEnabled

func IsRouterEnabled() bool

IsRouterEnabled - Router Layer 활성화 여부

func ProxyFactory

func ProxyFactory(pf proxy.Factory) proxy.FactoryFunc

ProxyFactory - Opencensus Trace와 연동되는 Proxy Call chain 구성을 위한 팩토리

func RegisterExporterFactories

func RegisterExporterFactories(ef ExporterFactory)

RegisterExporterFactories - Opencensus Exporter 팩토리들을 등록

func Setup

func Setup(ctx context.Context, sConf config.ServiceConfig, vs ...*view.View) error

Setup - Opencensus Trace 관련 설정을 검증하고 Exporter들을 Registry에 등록하고 Trace 대상 Layer들 구성

Types

type Config

type Config struct {
	// 샘플링 비율 (기본값: 0, no sampling, 100 이면 전수 검사)
	SampleRate int `yaml:"sample_rate"`
	// Exporter로 데이터 처리를 위한 주기
	ReportingPeriod time.Duration `yaml:"reporting_period"`
	// 레이어별 활성화 여부
	EnabledLayers *EnabledLayers `yaml:"enabled_layers"`
	// 데이터 처리를 위한 Exporter 설정
	Exporters struct {
		Jaeger *struct {
			// Jaeger 서버의 Endpoint
			Endpoint string `yaml:"endpoint"`
			// Jaeger 서버의 식별을 위한 서비스 명
			ServiceName string `yaml:"service_name"`
		} `yaml:"jaeger"`
	} `yaml:"exporters"`
}

Config - Opencencus 연동을 위한 설정 구조 정의

type EnabledLayers

type EnabledLayers struct {
	// Router 활성화 여부
	Router bool `yaml:"router"`
	// Proxy 활성화 여부
	Proxy bool `yaml:"proxy"`
	// Backend 활성화 여부
	Backend bool `yaml:"backend"`
}

EnabledLayers - Opencensus와 연동하기 위한 레이어 활성화 구조

type ExporterFactory

type ExporterFactory func(context.Context, Config) (interface{}, error)

ExporterFactory - Opencenus Exporter관리를 위한 팩토리 함수 정의

Directories

Path Synopsis
exporters
router
gin

Jump to

Keyboard shortcuts

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