in internal/cloudmock/metrics.go [121:150]
func (f *fakeMetricServiceServer) CreateTimeSeries(
ctx context.Context,
req *monitoringpb.CreateTimeSeriesRequest,
) (*emptypb.Empty, error) {
code := codes.OK
if strings.Contains(req.Name, "notfound") {
code = codes.NotFound
} else if strings.Contains(req.Name, "unavailable") && f.metricsTestServer.RetryCount == 0 {
f.metricsTestServer.RetryCount++
code = codes.Unavailable
} else if strings.Contains(req.Name, "deadline_exceeded") && f.metricsTestServer.RetryCount == 0 {
f.metricsTestServer.RetryCount++
code = codes.DeadlineExceeded
}
successPointCount := int32(len(req.TimeSeries))
if code == codes.NotFound || code == codes.Unavailable || code == codes.DeadlineExceeded {
successPointCount = 0
} else {
f.metricsTestServer.appendCreateTimeSeriesReq(ctx, req)
}
statusResp, _ := status.New(code, "").WithDetails(
&monitoringpb.CreateTimeSeriesSummary{
TotalPointCount: int32(len(req.TimeSeries)),
SuccessPointCount: successPointCount,
})
return &emptypb.Empty{}, statusResp.Err()
}