{"push_id":706165012,"size":1,"distinct_size":1,"ref":"refs/heads/aggregate_store","head":"3dc22d50a7160a4afc25b0a6003d9abd6e2873d4","before":"b6322e95e0f043b594a54c232b3a829143a75ff7","commits":[{"sha":"3dc22d50a7160a4afc25b0a6003d9abd6e2873d4","author":{"email":"aef13f2c0474276f1af5f23465b7eed1b207df56@gmail.com","name":"Stephen Gutekanst"},"message":"Implement a workaround to avoid a memory leak in AggregateStore.\n\nas.groups will have a single ID key placed into the map upon each collection\n(e.g. HTTP request) and doing that needs the storage of 8 bytes of data (traceID\nand pointer). Prior to this change as.groups only had items removed upon the\ndeletion of an entire group (e.g. if a HTTP route had not been accessed _at all_\nover the past 72/hrs) so it would leak memory.\n\nRemoving items from as.groups is non-trivial because there is no clear-cut place\nat which items in the map are no longer needed. As a workaround for now we employ\na timer of 30s, after which we suggest that items in as.groups are no longer\nneeded. In the unlikely case they are needed after 30s, that annotation would go\nmissing (would not be associated with the trace).","distinct":true,"url":"https://api.github.com/repos/sourcegraph/appdash/commits/3dc22d50a7160a4afc25b0a6003d9abd6e2873d4"}]}