Open zdyj3170101136 opened 1 year ago
Storing things in pprof is also very inefficient, I don't think this approach would scale either.
We're working on something in Polar Signals Cloud that we think will fix all the metastore problems. If it actually works out, and we figure out all the edge cases, then we'll bring it back to Parca.
When i want to store thousands of pod's pprof file into parca.
I find there are some problem about metastore, may be it should be replaced by filestore.
metastore
Metastore is a key-value store, the key is hash of (location or mapping). the pprof file is normablized and stored into metastore.
problem
1, the key is random, so get a pprof means get thousands of random key from metastore, this is not scalable. 2, k-v store can save a lot of space, cause we only need to store same location once. but because the key is random, so the metastore could not use hot-cold store to save space. 3, badgerdb is embeded db, could not scale-up.
filestore
store the whole pprof file into disk. the symbolization cycle would get unsymbolized pprof file and do symbolize in two time: 1, the file is created. 2, 5 * time.minute ago.(because the agent upload is async)
it is easily to scale-up machine which do symbolization.