Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewProtoProxyClient ¶
func NewProtoProxyClient(httpClient *http.Client, baseUrl string, opts ...connect.ClientOption) protoproxyconnect.ProtoProxyServiceClient
func RegisterMetrics ¶
func RegisterMetrics(reg prometheus.Registerer)
Types ¶
type Marhshallers ¶
type Marhshallers struct { Registry *protostore.Registry // contains filtered or unexported fields }
func NewMarshallers ¶
func NewMarshallers(registry *protostore.Registry) *Marhshallers
func (*Marhshallers) Deserialize ¶
func (m *Marhshallers) Deserialize(proto []byte, key MarshallerKey) (string, error)
Deserialize from bytes to line protocol using a cache messageName represent the name of the package.message eg: swarm.Telemetry
type MarshallerKey ¶
type MarshallerKey struct {
// contains filtered or unexported fields
}
type ProtoPayload ¶
type ProtoPayload struct {
// contains filtered or unexported fields
}
type ProtoProxyServer ¶
type ProtoProxyServer struct {
// contains filtered or unexported fields
}
func NewProtoProxyServer ¶
func NewProtoProxyServer(logger zerolog.Logger, registry *protostore.Registry, cons jetstream.Consumer, writer api.WriteAPI) *ProtoProxyServer
TODO offer both NewServer which accepting external dependencies as var and NewServerWithConnections
func (*ProtoProxyServer) ListenAndPushTelemetry ¶
func (p *ProtoProxyServer) ListenAndPushTelemetry(ctx context.Context)
Using the db and bus, listen for telemetry, deserialize using proto and push to line protocol db
func (*ProtoProxyServer) UploadSchema ¶
func (p *ProtoProxyServer) UploadSchema(ctx context.Context, req *connect.Request[protoproxy.UploadSchemaRequest], ) (*connect.Response[protoproxy.UploadSchemaResponse], error)
Click to show internal directories.
Click to hide internal directories.