telemetry

package
v0.0.0-...-7c47925 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2023 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Overview

Copyright (c) The go-grpc-middleware Authors. Licensed under the Apache License 2.0.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PayloadStreamClientInterceptor

func PayloadStreamClientInterceptor(logger logging.Logger, decider logging.ClientPayloadLoggingDecider,
	timestampFormat string) grpc.StreamClientInterceptor

PayloadStreamClientInterceptor returns a new streaming client interceptor that logs the paylods of requests and responses on INFO level. Logger tags will be used from tags context.

func PayloadStreamServerInterceptor

func PayloadStreamServerInterceptor(logger logging.Logger, decider logging.ServerPayloadLoggingDecider,
	timestampFormat string) grpc.StreamServerInterceptor

PayloadStreamServerInterceptor returns a new server interceptors that logs the payloads of requests on INFO level. Logger tags will be used from tags context.

func PayloadUnaryClientInterceptor

func PayloadUnaryClientInterceptor(logger logging.Logger, decider logging.ClientPayloadLoggingDecider,
	timestampFormat string) grpc.UnaryClientInterceptor

PayloadUnaryClientInterceptor returns a new unary client interceptor that logs the payloads of requests and responses on INFO level. Logger tags will be used from tags context.

func PayloadUnaryServerInterceptor

func PayloadUnaryServerInterceptor(logger logging.Logger, decider logging.ServerPayloadLoggingDecider,
	timestampFormat string) grpc.UnaryServerInterceptor

PayloadUnaryServerInterceptor returns a new unary server interceptors that logs the payloads of requests on INFO level. Logger tags will be used from tags context.

Types

type LoggingProvider

type LoggingProvider interface {
	UnaryInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (response interface{}, err error)
	UnaryPayloadInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (response interface{}, err error)
	StreamInterceptor(srv interface{}, ss grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error
	StreamPayloadInterceptor(srv interface{}, ss grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error
}

LoggingProvider injects the current request trace-id into logs and error responses

func NewLoggingProvider

func NewLoggingProvider(debug bool, debugGrpc bool, formatJson bool, logHealthCheck bool, noColor bool, env string) LoggingProvider

NewLoggingProvider initializes logging for wren

type MetricsProvider

type MetricsProvider interface {
	RegisterGrpc(server *grpc.Server)
}

MetricsProvider sets up everything needed to serve metrics for prometheus

func NewMetricsProvider

func NewMetricsProvider() MetricsProvider

NewMetricsProvider initializes logging for wren

type TracingProvider

type TracingProvider interface {
	UnaryInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (response interface{}, err error)
	StreamInterceptor(srv interface{}, ss grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error
}

TracingProvider injects the current request trace-id into logs and error responses

func NewTracingProvider

func NewTracingProvider(ctx context.Context, otelEndpont string) (TracingProvider, func())

NewTracingProvider creates a new tracing provider designed for GRPC Interceptors (currently only Unary) returns the provider and a shutdown function

Jump to

Keyboard shortcuts

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