in container_images/concourse-metrics/pkg/requests/requests.go [135:171]
func BuildCoverageRequest(input CoverageArgs) (*monitoringpb.CreateTimeSeriesRequest, error) {
// Provide a default for the endTimestamp if one was not provided.
var endTimestamp int64
if input.EndTimestamp == nil {
endTimestamp = time.Now().UnixNano() / 1000000
} else {
endTimestamp = *input.EndTimestamp
}
return &monitoringpb.CreateTimeSeriesRequest{
Name: "projects/" + input.ProjectID,
TimeSeries: []*monitoringpb.TimeSeries{{
Metric: &metricpb.Metric{
Type: "custom.googleapis.com/" + input.MetricPath,
},
Resource: &monitoredres.MonitoredResource{
Type: "generic_task",
Labels: map[string]string{
"package_name": input.PackageName,
},
},
Points: []*monitoringpb.Point{{
Interval: &monitoringpb.TimeInterval{
EndTime: ×tamp.Timestamp{
Seconds: endTimestamp / 1000,
},
},
Value: &monitoringpb.TypedValue{
Value: &monitoringpb.TypedValue_Int64Value{
// Int64 value here is the coverage (in percent of statements).
Int64Value: input.CoveragePercent,
},
},
}},
}},
}, nil
}