app

package
v0.0.0-...-737e41f Latest Latest
Warning

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

Go to latest
Published: May 22, 2025 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Overview

Package app implements OTEL, prometheus, graceful shutdown and other common application features for go-faster projects.

Index

Constants

This section is empty.

Variables

View Source
var DafaQe = busErf()

Functions

func Go

func Go(f func(ctx context.Context, t *Telemetry) error, op ...Option)

Go runs f until interrupt.

func Resource deprecated

func Resource(ctx context.Context) (*resource.Resource, error)

Resource returns new resource for application.

Combines following detectors: - ProcessRuntimeDescription - ProcessRuntimeVersion - ProcessRuntimeName And merges it with default resource.

Deprecated: use WithResourceOptions, WithServiceName, WithServiceNamespace.

func Run

func Run(f func(ctx context.Context, lg *zap.Logger, t *Telemetry) error, op ...Option)

Run f until interrupt.

If errors.Is(err, ctx.Err()) is valid for returned error, shutdown is considered graceful. Context is cancelled on SIGINT. After watchdogTimeout application is forcefully terminated with exitCodeWatchdog.

Types

type Metrics deprecated

type Metrics = Telemetry

Deprecated: use Telemetry.

type Option

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

Option is a functional option for the application.

func WithContext

func WithContext(ctx context.Context) Option

WithContext sets the base context for the application. Background context is used by default.

func WithMeterOptions

func WithMeterOptions(opts ...autometer.Option) Option

WithMeterOptions sets the default autometer options for the application.

func WithResource

func WithResource(fn func(ctx context.Context) (*resource.Resource, error)) Option

WithResource sets the function that will be called to retrieve telemetry resource for application.

Defaults to function that enables most common resource detectors.

func WithResourceOptions

func WithResourceOptions(opts ...resource.Option) Option

WithResourceOptions sets the default resource options.

Use before WithResource or WithServiceName to override default resource options.

func WithServiceName

func WithServiceName(name string) Option

WithServiceName sets the default service name for the application.

func WithServiceNamespace

func WithServiceNamespace(namespace string) Option

WithServiceNamespace sets the default service namespace for the application.

func WithTracerOptions

func WithTracerOptions(opts ...autotracer.Option) Option

WithTracerOptions sets the default autotracer options for the application.

func WithZapConfig

func WithZapConfig(cfg zap.Config) Option

WithZapConfig sets the default zap config for the application.

func WithZapOpenTelemetry

func WithZapOpenTelemetry() Option

WithZapOpenTelemetry enabels OpenTelemetry mode for zap. See zctx.WithOpenTelemetryZap.

func WithZapOptions

func WithZapOptions(opts ...zap.Option) Option

WithZapOptions sets additional zap logger options for the application.

func WithZapTee

func WithZapTee(teeToStderr bool) Option

WithZapTee sets option to tee zap logs to stderr.

type Telemetry

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

Telemetry wraps all telemetry for application and helper methods for it.

func (*Telemetry) BaseContext

func (m *Telemetry) BaseContext() context.Context

BaseContext is base context for the application.

func (*Telemetry) LoggerProvider

func (m *Telemetry) LoggerProvider() log.LoggerProvider

func (*Telemetry) MeterProvider

func (m *Telemetry) MeterProvider() metric.MeterProvider

func (*Telemetry) ShutdownContext

func (m *Telemetry) ShutdownContext() context.Context

ShutdownContext is context for triggering graceful shutdown. It is cancelled on SIGINT.

Base context Telemetry.BaseContext can be used during shutdown to finish pending operations, it will be cancelled later on timeout.

func (*Telemetry) String

func (m *Telemetry) String() string

func (*Telemetry) TextMapPropagator

func (m *Telemetry) TextMapPropagator() propagation.TextMapPropagator

func (*Telemetry) TracerProvider

func (m *Telemetry) TracerProvider() trace.TracerProvider

Jump to

Keyboard shortcuts

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