in cost-optimization/gke-scheduled-autoscaler/main.go [59:87]
func buildTimeSeriesRequest(project, name string, value float64) (string, *monitoringpb.CreateTimeSeriesRequest) {
metricType := "custom.googleapis.com/" + name
metricLabels := map[string]string{}
monitoredResourceType := "k8s_cluster"
monitoredResourceLabels := buildMonitoredResourceLabels()
return metricType, &monitoringpb.CreateTimeSeriesRequest{
Name: project,
TimeSeries: []*monitoringpb.TimeSeries{
{
Metric: &metric.Metric{
Type: metricType,
Labels: metricLabels,
},
Resource: &monitoredres.MonitoredResource{
Type: monitoredResourceType,
Labels: monitoredResourceLabels,
},
Points: []*monitoringpb.Point{{
Interval: &monitoringpb.TimeInterval{
EndTime: timestamppb.New(time.Now()),
},
Value: &monitoringpb.TypedValue{
Value: &monitoringpb.TypedValue_DoubleValue{DoubleValue: value},
},
}},
},
},
}
}