Add container statuses#61
Conversation
|
✔️ All good! |
e84284c to
dab9b8e
Compare
74583cb to
23bb6f7
Compare
|
@tombruijn FYI: I've rolled in the changes re: using enums (which I discussed with @matsimitsu over in Slack) into this PR, for both container statuses and pod phases. Note that the protocol is backwards-compatible for phases, but not for container statuses, since those haven't been released yet. The implementation, however, isn't backwards-compatible for phases -- the processor should attempt to read |
That's not possible, the enum is always set (just to the default value), so I'm currently reading the deprecated phase, and if it's |
This comment has been minimized.
This comment has been minimized.
Yeah, sorry, by "fails" I meant "is the default value", which is |
3cd16b2 to
96df30c
Compare
tombruijn
left a comment
There was a problem hiding this comment.
Great to see it's now sending in batches too!
This is a message from the daily scheduled checks. |
For each container in a pod, report the name of the container, its status, and the reason and exit code for said status, if any.
When a pod metric has no stats (CPU, memory... as reported by the node stats summary endpoint) report it anyway. Do this by storing the pods stats while traversing the stats JSON, but emitting metrics for all pods, as reported by the Kubernetes API, not just for those listed in the stats endpoint.
Report the pod phase and container status as enums. Do not emit the previous `phase` string property in the KubernetesMetrics struct, which is now deprecated. Instead, emit the `pod_phase` enum property. Replace the not-yet-released `status` string property with an `enum` property of the same name.
Instead of sending one request to AppSignal for each node, pod and volume in the Kubernetes cluster, send several metrics in each request. Set a threshold for request size of 400 kilobytes. It's not strictly a maximum, as it will be exceeded if a single metric somehow exceeds it.
96df30c to
c7b13ca
Compare
See Slack conversation for context. Also see protocol PR.
Report container statuses
For each container in a pod, report the name of the container, its
status, and the reason and exit code for said status, if any.
Report metrics when pods have no stats
When a pod metric has no stats (CPU, memory... as reported by the node
stats summary endpoint) report it anyway. Do this by storing the
pods stats while traversing the stats JSON, but emitting metrics for
all pods, as reported by the Kubernetes API, not just for those
listed in the stats endpoint.
Fixes #57.