39 lines
829 B
Go
39 lines
829 B
Go
/*
|
|
Copyright IBM Corp. All Rights Reserved.
|
|
|
|
SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
package comm
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/hyperledger/fabric/common/metrics"
|
|
"google.golang.org/grpc/stats"
|
|
)
|
|
|
|
type ServerStatsHandler struct {
|
|
OpenConnCounter metrics.Counter
|
|
ClosedConnCounter metrics.Counter
|
|
}
|
|
|
|
func (h *ServerStatsHandler) TagRPC(ctx context.Context, info *stats.RPCTagInfo) context.Context {
|
|
return ctx
|
|
}
|
|
|
|
func (h *ServerStatsHandler) HandleRPC(ctx context.Context, s stats.RPCStats) {}
|
|
|
|
func (h *ServerStatsHandler) TagConn(ctx context.Context, info *stats.ConnTagInfo) context.Context {
|
|
return ctx
|
|
}
|
|
|
|
func (h *ServerStatsHandler) HandleConn(ctx context.Context, s stats.ConnStats) {
|
|
switch s.(type) {
|
|
case *stats.ConnBegin:
|
|
h.OpenConnCounter.Add(1)
|
|
case *stats.ConnEnd:
|
|
h.ClosedConnCounter.Add(1)
|
|
}
|
|
}
|