Description
The tracer component currently never drops anything from memory, which means it will run until it OOMs. This is suboptimal.
We want to implement some sort of (configurable) falling-off time window so that we can actually run the tracer in production without it OOMing. This will require a bit of care and testing to get right, I think. Essentially, I think the algorithm looks something like this:
Every n seconds:
- Check to see what tracked objects have been deleted since the last GC run
- Remove those objects from the trace, and from the index
- Remove any pods that belonged to those objects from the pod owners index
Related: #79
Description
The tracer component currently never drops anything from memory, which means it will run until it OOMs. This is suboptimal.
We want to implement some sort of (configurable) falling-off time window so that we can actually run the tracer in production without it OOMing. This will require a bit of care and testing to get right, I think. Essentially, I think the algorithm looks something like this:
Every n seconds:
Related: #79