Skip to content
This repository was archived by the owner on Dec 1, 2018. It is now read-only.

Commit 6d6f584

Browse files
authored
Merge pull request #2046 from mindprince/gpu-new-resource-model
Push accelerator metrics to new Stackdriver sink.
2 parents a85c243 + 047a542 commit 6d6f584

File tree

2 files changed

+49
-0
lines changed

2 files changed

+49
-0
lines changed

metrics/sinks/stackdriver/metadata.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,24 @@ var (
8181
Name: "kubernetes.io/container/ephemeral_storage/limit_bytes",
8282
}
8383

84+
acceleratorMemoryTotalMD = &metricMetadata{
85+
MetricKind: google_api5.MetricDescriptor_GAUGE,
86+
ValueType: google_api5.MetricDescriptor_INT64,
87+
Name: "kubernetes.io/container/accelerator/memory_total",
88+
}
89+
90+
acceleratorMemoryUsedMD = &metricMetadata{
91+
MetricKind: google_api5.MetricDescriptor_GAUGE,
92+
ValueType: google_api5.MetricDescriptor_INT64,
93+
Name: "kubernetes.io/container/accelerator/memory_used",
94+
}
95+
96+
acceleratorDutyCycleMD = &metricMetadata{
97+
MetricKind: google_api5.MetricDescriptor_GAUGE,
98+
ValueType: google_api5.MetricDescriptor_INT64,
99+
Name: "kubernetes.io/container/accelerator/duty_cycle",
100+
}
101+
84102
acceleratorRequestedMD = &metricMetadata{
85103
MetricKind: google_api5.MetricDescriptor_GAUGE,
86104
ValueType: google_api5.MetricDescriptor_INT64,

metrics/sinks/stackdriver/stackdriver.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -584,6 +584,37 @@ func (sink *StackdriverSink) TranslateLabeledMetric(timestamp time.Time, labels
584584
}
585585
return ts
586586
}
587+
case core.MetricSetTypePodContainer:
588+
containerLabels := sink.getContainerResourceLabels(labels)
589+
switch metric.Name {
590+
case core.MetricAcceleratorMemoryTotal.MetricDescriptor.Name:
591+
point := sink.intPoint(timestamp, timestamp, metric.IntValue)
592+
ts := createTimeSeries("k8s_container", containerLabels, acceleratorMemoryTotalMD, point)
593+
ts.Metric.Labels = map[string]string{
594+
core.LabelAcceleratorMake.Key: metric.Labels[core.LabelAcceleratorMake.Key],
595+
core.LabelAcceleratorModel.Key: metric.Labels[core.LabelAcceleratorModel.Key],
596+
core.LabelAcceleratorID.Key: metric.Labels[core.LabelAcceleratorID.Key],
597+
}
598+
return ts
599+
case core.MetricAcceleratorMemoryUsed.MetricDescriptor.Name:
600+
point := sink.intPoint(timestamp, timestamp, metric.IntValue)
601+
ts := createTimeSeries("k8s_container", containerLabels, acceleratorMemoryUsedMD, point)
602+
ts.Metric.Labels = map[string]string{
603+
core.LabelAcceleratorMake.Key: metric.Labels[core.LabelAcceleratorMake.Key],
604+
core.LabelAcceleratorModel.Key: metric.Labels[core.LabelAcceleratorModel.Key],
605+
core.LabelAcceleratorID.Key: metric.Labels[core.LabelAcceleratorID.Key],
606+
}
607+
return ts
608+
case core.MetricAcceleratorDutyCycle.MetricDescriptor.Name:
609+
point := sink.intPoint(timestamp, timestamp, metric.IntValue)
610+
ts := createTimeSeries("k8s_container", containerLabels, acceleratorDutyCycleMD, point)
611+
ts.Metric.Labels = map[string]string{
612+
core.LabelAcceleratorMake.Key: metric.Labels[core.LabelAcceleratorMake.Key],
613+
core.LabelAcceleratorModel.Key: metric.Labels[core.LabelAcceleratorModel.Key],
614+
core.LabelAcceleratorID.Key: metric.Labels[core.LabelAcceleratorID.Key],
615+
}
616+
return ts
617+
}
587618
}
588619
return nil
589620
}

0 commit comments

Comments
 (0)