Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LoggingInterceptor ¶
func LoggingInterceptor(logger *slog.Logger) grpc.UnaryServerInterceptor
func MetricsInterceptor ¶
func MetricsInterceptor(metrics *Metrics) grpc.UnaryServerInterceptor
Types ¶
type GrpcService ¶
type GrpcService struct {
InnerServer *grpc.Server
InnerMetrics *Metrics
Config *Config
// contains filtered or unexported fields
}
func NewGrpcService ¶
func NewGrpcService(config *Config, metricsProvider MetricsProvider, logger *slog.Logger) *GrpcService
func (*GrpcService) RegisterService ¶
func (gs *GrpcService) RegisterService(desc *grpc.ServiceDesc, impl any)
func (*GrpcService) Server ¶
func (gs *GrpcService) Server() *grpc.Server
type Metrics ¶
type Metrics struct {
RequestsTotal *prometheus.CounterVec
RequestDuration *prometheus.HistogramVec
// contains filtered or unexported fields
}
func NewMetrics ¶
func NewMetrics(metricsProvider MetricsProvider) *Metrics
type MetricsProvider ¶
type MetricsProvider interface {
GetRegistry() *prometheus.Registry
}
Click to show internal directories.
Click to hide internal directories.