Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type GRPCMetrics ¶
type GRPCMetrics struct {
// contains filtered or unexported fields
}
GRPCMetrics records RED-style gRPC metrics and can be appended to `/metrics`.
func NewGRPCMetrics ¶
func NewGRPCMetrics(cfg GRPCMetricsConfig) *GRPCMetrics
NewGRPCMetrics creates a shared metrics collector for DenseCloud gRPC runtimes.
func (*GRPCMetrics) AppendPrometheus ¶
func (m *GRPCMetrics) AppendPrometheus(builder *strings.Builder)
AppendPrometheus emits gRPC metrics in Prometheus text exposition format.
func (*GRPCMetrics) BeginRPC ¶
func (m *GRPCMetrics) BeginRPC()
BeginRPC marks the beginning of an in-flight gRPC request.
func (*GRPCMetrics) ObserveRPC ¶
func (m *GRPCMetrics) ObserveRPC(method, rpcType, code string, seconds float64)
ObserveRPC records a completed gRPC request.
type GRPCMetricsConfig ¶
GRPCMetricsConfig configures DenseCloud's shared gRPC metrics collector.
type HTTPMetrics ¶
type HTTPMetrics struct {
// contains filtered or unexported fields
}
HTTPMetrics records RED-style HTTP metrics and exposes Prometheus text format.
func NewHTTPMetrics ¶
func NewHTTPMetrics(cfg HTTPMetricsConfig) *HTTPMetrics
NewHTTPMetrics creates a shared metrics collector for DenseCloud runtimes.
func (*HTTPMetrics) Handler ¶
func (m *HTTPMetrics) Handler() http.Handler
Handler exposes metrics in Prometheus text exposition format.
func (*HTTPMetrics) Middleware ¶
func (m *HTTPMetrics) Middleware() func(http.Handler) http.Handler
Middleware records request counts, errors, latency, and in-flight concurrency.
type HTTPMetricsConfig ¶
type HTTPMetricsConfig struct {
ServiceName string
Buckets []float64
IgnorePaths []string
PathLabeler func(*http.Request) string
Collectors []PrometheusCollector
}
HTTPMetricsConfig configures DenseCloud's shared RED metrics.
type OTelConfig ¶
type OTelConfig struct {
ServiceName string
ServiceVersion string
// DeploymentEnvironment maps to deployment.environment when provided.
DeploymentEnvironment string
Endpoint string
Enabled bool
Insecure bool
SamplingRate float64
BatchTimeout time.Duration
}
OTelConfig holds OpenTelemetry configuration.
func DefaultOTelConfig ¶
func DefaultOTelConfig() OTelConfig
DefaultOTelConfig returns sensible defaults for tracing.
type OTelProvider ¶
type OTelProvider struct {
// contains filtered or unexported fields
}
OTelProvider wraps the tracer provider and provides cleanup methods.
func InitOTelTracer ¶
func InitOTelTracer(cfg OTelConfig) (*OTelProvider, error)
InitOTelTracer initializes the OpenTelemetry tracer provider.
func (*OTelProvider) Shutdown ¶
func (p *OTelProvider) Shutdown(ctx context.Context) error
Shutdown gracefully shuts down the tracer provider.
func (*OTelProvider) ShutdownWithTimeout ¶
func (p *OTelProvider) ShutdownWithTimeout(timeout time.Duration) error
ShutdownWithTimeout shuts down the provider with a timeout.
type PrometheusCollector ¶
PrometheusCollector appends metrics in Prometheus text exposition format.