Paul Glass d17af23641
gRPC server metrics (#14922)
* Move stats.go from grpc-internal to grpc-middleware
* Update grpc server metrics with server type label
* Add stats test to grpc-external
* Remove global metrics instance from grpc server tests
2022-10-11 17:00:32 -05:00

44 lines
855 B
Go

package testservice
import (
"context"
"time"
)
type Simple struct {
Name string
DC string
}
func (s *Simple) Flow(_ *Req, flow Simple_FlowServer) error {
for flow.Context().Err() == nil {
resp := &Resp{ServerName: "one", Datacenter: s.DC}
if err := flow.Send(resp); err != nil {
return err
}
time.Sleep(time.Millisecond)
}
return nil
}
func (s *Simple) Something(_ context.Context, _ *Req) (*Resp, error) {
return &Resp{ServerName: s.Name, Datacenter: s.DC}, nil
}
type SimplePanic struct {
Name, DC string
}
func (s *SimplePanic) Flow(_ *Req, flow Simple_FlowServer) error {
for flow.Context().Err() == nil {
time.Sleep(time.Millisecond)
panic("panic from Flow")
}
return nil
}
func (s *SimplePanic) Something(_ context.Context, _ *Req) (*Resp, error) {
time.Sleep(time.Millisecond)
panic("panic from Something")
}