Skip to content

Commit

Permalink
Define a new telemetry Stat API (#663)
Browse files Browse the repository at this point in the history
* Define a new telemetry Stat API

Proposal definition for a new Stat API, for the purposes of satisfying the queries proposed in #627.
StatSummary will replace Stat once implemented and the original Stat deleted.
  • Loading branch information
rmars authored Apr 3, 2018
1 parent 06bf78c commit d1a39ea
Show file tree
Hide file tree
Showing 6 changed files with 822 additions and 82 deletions.
7 changes: 7 additions & 0 deletions controller/api/public/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,13 @@ func (c *grpcOverHttpClient) Stat(ctx context.Context, req *pb.MetricRequest, _
return &msg, err
}

// TODO: This will replace Stat, once implemented
func (c *grpcOverHttpClient) StatSummary(ctx context.Context, req *pb.StatSummaryRequest, _ ...grpc.CallOption) (*pb.StatSummaryResponse, error) {
var msg pb.StatSummaryResponse
err := c.apiRequest(ctx, "StatSummary", req, &msg)
return &msg, err
}

func (c *grpcOverHttpClient) Version(ctx context.Context, req *pb.Empty, _ ...grpc.CallOption) (*pb.VersionInfo, error) {
var msg pb.VersionInfo
err := c.apiRequest(ctx, "Version", req, &msg)
Expand Down
4 changes: 4 additions & 0 deletions controller/api/public/grpc_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,10 @@ func (s *grpcServer) Stat(ctx context.Context, req *pb.MetricRequest) (*pb.Metri
return &pb.MetricResponse{Metrics: metrics}, err
}

func (s *grpcServer) StatSummary(ctx context.Context, req *pb.StatSummaryRequest) (*pb.StatSummaryResponse, error) {
return &pb.StatSummaryResponse{}, nil
}

func (s *grpcServer) queryMetric(ctx context.Context, req *pb.MetricRequest, metric pb.MetricName) metricResult {

result := metricResult{}
Expand Down
5 changes: 5 additions & 0 deletions controller/api/public/http_server_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@ func (m *mockGrpcServer) Stat(ctx context.Context, req *pb.MetricRequest) (*pb.M
return m.ResponseToReturn.(*pb.MetricResponse), m.ErrorToReturn
}

func (m *mockGrpcServer) StatSummary(ctx context.Context, req *pb.StatSummaryRequest) (*pb.StatSummaryResponse, error) {
m.LastRequestReceived = req
return m.ResponseToReturn.(*pb.StatSummaryResponse), m.ErrorToReturn
}

func (m *mockGrpcServer) Version(ctx context.Context, req *pb.Empty) (*pb.VersionInfo, error) {
m.LastRequestReceived = req
return m.ResponseToReturn.(*pb.VersionInfo), m.ErrorToReturn
Expand Down
17 changes: 11 additions & 6 deletions controller/api/public/test_helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,23 @@ import (
)

type MockConduitApiClient struct {
ErrorToReturn error
VersionInfoToReturn *pb.VersionInfo
ListPodsResponseToReturn *pb.ListPodsResponse
MetricResponseToReturn *pb.MetricResponse
SelfCheckResponseToReturn *healthcheckPb.SelfCheckResponse
Api_TapClientToReturn pb.Api_TapClient
ErrorToReturn error
VersionInfoToReturn *pb.VersionInfo
ListPodsResponseToReturn *pb.ListPodsResponse
MetricResponseToReturn *pb.MetricResponse
StatSummaryResponseToReturn *pb.StatSummaryResponse
SelfCheckResponseToReturn *healthcheckPb.SelfCheckResponse
Api_TapClientToReturn pb.Api_TapClient
}

func (c *MockConduitApiClient) Stat(ctx context.Context, in *pb.MetricRequest, opts ...grpc.CallOption) (*pb.MetricResponse, error) {
return c.MetricResponseToReturn, c.ErrorToReturn
}

func (c *MockConduitApiClient) StatSummary(ctx context.Context, in *pb.StatSummaryRequest, opts ...grpc.CallOption) (*pb.StatSummaryResponse, error) {
return c.StatSummaryResponseToReturn, c.ErrorToReturn
}

func (c *MockConduitApiClient) Version(ctx context.Context, in *pb.Empty, opts ...grpc.CallOption) (*pb.VersionInfo, error) {
return c.VersionInfoToReturn, c.ErrorToReturn
}
Expand Down
Loading

0 comments on commit d1a39ea

Please sign in to comment.