Documentation
¶
Index ¶
- type Config
- type MetricsRecorder
- type NoOpMetricsRecorder
- func (n NoOpMetricsRecorder) RecordBytesTransferred(ctx context.Context, direction string, bytes int64)
- func (n NoOpMetricsRecorder) RecordConnection(ctx context.Context)
- func (n NoOpMetricsRecorder) RecordDisconnection(ctx context.Context)
- func (n NoOpMetricsRecorder) RecordError(ctx context.Context, errorType string)
- type Option
- type Proxy
- type Recorder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { LocalGRPCAddr netip.AddrPort Path string MetricsRecorder MetricsRecorder }
Config contains the configuration for the WebSocket proxy.
type MetricsRecorder ¶
type MetricsRecorder interface { // RecordConnection records a new connection RecordConnection(ctx context.Context) // RecordDisconnection records a connection closing RecordDisconnection(ctx context.Context) // RecordBytesTransferred records bytes transferred in a direction RecordBytesTransferred(ctx context.Context, direction string, bytes int64) // RecordError records an error RecordError(ctx context.Context, errorType string) }
MetricsRecorder defines the interface for recording proxy metrics
type NoOpMetricsRecorder ¶
type NoOpMetricsRecorder struct{}
NoOpMetricsRecorder is a no-op implementation that does nothing
func (NoOpMetricsRecorder) RecordBytesTransferred ¶
func (n NoOpMetricsRecorder) RecordBytesTransferred(ctx context.Context, direction string, bytes int64)
func (NoOpMetricsRecorder) RecordConnection ¶
func (n NoOpMetricsRecorder) RecordConnection(ctx context.Context)
func (NoOpMetricsRecorder) RecordDisconnection ¶
func (n NoOpMetricsRecorder) RecordDisconnection(ctx context.Context)
func (NoOpMetricsRecorder) RecordError ¶
func (n NoOpMetricsRecorder) RecordError(ctx context.Context, errorType string)
type Option ¶
type Option func(*Config)
Option defines functional options for the Proxy
func WithMetrics ¶
func WithMetrics(recorder MetricsRecorder) Option
WithMetrics sets a custom metrics recorder
func WithOTelMeter ¶
WithOTelMeter creates and sets an OpenTelemetry metrics recorder
type Proxy ¶
type Proxy struct {
// contains filtered or unexported fields
}
Proxy handles WebSocket to TCP proxying for gRPC connections.
type Recorder ¶
type Recorder struct {
// contains filtered or unexported fields
}
Recorder implements MetricsRecorder using OpenTelemetry
func NewMetricsRecorder ¶
NewMetricsRecorder creates a new OpenTelemetry-based metrics recorder
func (*Recorder) RecordBytesTransferred ¶
func (*Recorder) RecordConnection ¶
func (*Recorder) RecordDisconnection ¶
Click to show internal directories.
Click to hide internal directories.