Skip to content

Commit

Permalink
send network traffic to logs
Browse files Browse the repository at this point in the history
  • Loading branch information
geigerj0 authored and geofffranks committed Aug 23, 2023
1 parent 2ff4090 commit 28e521b
Show file tree
Hide file tree
Showing 6 changed files with 101 additions and 3 deletions.
2 changes: 2 additions & 0 deletions containermetrics/cached_container_metric.go
Expand Up @@ -7,4 +7,6 @@ type CachedContainerMetrics struct {
DiskQuotaBytes uint64 `json:"disk_quota_bytes"`
MemoryUsageBytes uint64 `json:"memory_usage_bytes"`
MemoryQuotaBytes uint64 `json:"memory_quota_bytes"`
RxBytes uint64 `json:"rx_bytes"`
TxBytes uint64 `json:"tx_bytes"`
}
78 changes: 77 additions & 1 deletion containermetrics/reporters_runner_test.go

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions containermetrics/stats_reporter.go
Expand Up @@ -113,6 +113,8 @@ func (reporter *StatsReporter) calculateAndSendMetrics(
AbsoluteCPUEntitlement: containerMetrics.AbsoluteCPUEntitlementInNanoseconds,
ContainerAge: containerMetrics.ContainerAgeInNanoseconds,
Tags: metricsConfig.Tags,
RxBytes: containerMetrics.RxInBytes,
TxBytes: containerMetrics.TxInBytes,
})

if err != nil {
Expand All @@ -131,6 +133,8 @@ func (reporter *StatsReporter) calculateAndSendMetrics(
DiskQuotaBytes: containerMetrics.DiskLimitInBytes,
MemoryUsageBytes: containerMetrics.MemoryUsageInBytes,
MemoryQuotaBytes: containerMetrics.MemoryLimitInBytes,
RxBytes: containerMetrics.RxInBytes,
TxBytes: containerMetrics.TxInBytes,
}, &currentInfo
}

Expand Down
2 changes: 2 additions & 0 deletions depot/containerstore/containerstore.go
Expand Up @@ -367,6 +367,8 @@ func (cs *containerStore) Metrics(logger lager.Logger) (map[string]executor.Cont
TimeSpentInCPU: time.Duration(gardenMetric.CPUStat.Usage),
ContainerAgeInNanoseconds: uint64(gardenMetric.Age),
AbsoluteCPUEntitlementInNanoseconds: gardenMetric.CPUEntitlement,
RxInBytes: gardenMetric.NetworkStat.RxBytes,
TxInBytes: gardenMetric.NetworkStat.TxBytes,
}
}

Expand Down
14 changes: 13 additions & 1 deletion depot/containerstore/containerstore_test.go
Expand Up @@ -3198,6 +3198,10 @@ var _ = Describe("Container Store", func() {
},
Age: 1000000000,
CPUEntitlement: 100,
NetworkStat: garden.ContainerNetworkStat{
RxBytes: 42,
TxBytes: 43,
},
},
},
containerGuid2: garden.ContainerMetricsEntry{
Expand All @@ -3213,6 +3217,10 @@ var _ = Describe("Container Store", func() {
},
Age: 2000000000,
CPUEntitlement: 200,
NetworkStat: garden.ContainerNetworkStat{
RxBytes: 44,
TxBytes: 45,
},
},
},
containerGuid4: garden.ContainerMetricsEntry{
Expand Down Expand Up @@ -3258,6 +3266,8 @@ var _ = Describe("Container Store", func() {
Expect(container1Metrics.TimeSpentInCPU).To(Equal(5 * time.Second))
Expect(container1Metrics.ContainerAgeInNanoseconds).To(Equal(uint64(1000000000)))
Expect(container1Metrics.AbsoluteCPUEntitlementInNanoseconds).To(Equal(uint64(100)))
Expect(container1Metrics.RxInBytes).To(Equal(uint64(42)))
Expect(container1Metrics.TxInBytes).To(Equal(uint64(43)))

container2Metrics, ok := metrics[containerGuid2]
Expect(ok).To(BeTrue())
Expand All @@ -3268,6 +3278,8 @@ var _ = Describe("Container Store", func() {
Expect(container2Metrics.TimeSpentInCPU).To(Equal(1 * time.Millisecond))
Expect(container2Metrics.ContainerAgeInNanoseconds).To(Equal(uint64(2000000000)))
Expect(container2Metrics.AbsoluteCPUEntitlementInNanoseconds).To(Equal(uint64(200)))
Expect(container2Metrics.RxInBytes).To(Equal(uint64(44)))
Expect(container2Metrics.TxInBytes).To(Equal(uint64(45)))
})

Context("when fetching bulk metrics fails", func() {
Expand Down Expand Up @@ -3571,7 +3583,7 @@ var _ = Describe("Container Store", func() {
})
})

Context("when listing containers in garden fails", func() {
Context("when listing contaipcners in garden fails", func() {
BeforeEach(func() {
gardenClient.ContainersReturns([]garden.Container{}, errors.New("failed-to-list"))
})
Expand Down
4 changes: 3 additions & 1 deletion resources.go
Expand Up @@ -235,6 +235,8 @@ type ContainerMetrics struct {
TimeSpentInCPU time.Duration `json:"time_spent_in_cpu"`
AbsoluteCPUEntitlementInNanoseconds uint64 `json:"absolute_cpu_entitlement_in_ns"`
ContainerAgeInNanoseconds uint64 `json:"container_age_in_ns"`
RxInBytes uint64 `json:"rx_in_bytes"`
TxInBytes uint64 `json:"tx_in_bytes"`
}

type MetricsConfig struct {
Expand Down Expand Up @@ -386,7 +388,7 @@ func (e ContainerCompleteEvent) Container() Container { return e.RawContainer }
func (ContainerCompleteEvent) lifecycleEvent() {}

type ContainerRunningEvent struct {
RawContainer Container `json:"container"`
RawContainer Container `json:"conptainer"`
traceID string
}

Expand Down

0 comments on commit 28e521b

Please sign in to comment.