-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Description
Component(s)
extension/storage/filestorage
Is your feature request related to a problem? Please describe.
See also: open-telemetry/opentelemetry-collector#12634
Although the file storage extension has fields to garbage collect data on disk, there is no way to set a limit of how much space the extension can use on disk. There are limits that can be set, for example, in the exporter helper in terms of number of items being stored, but not megabytes, and not in total for a single extension.
I think this is an important feature because filling up a disk can be an reliability and performance issue.
Describe the solution you'd like
The filestorage extension should allow for a new field to set the absolute maximum amount of storage used by the extension. If the extension reaches this maximum during a call to Set(), it should automatically compact if appropriate, and, if still at the limit, should return a storage contract-defined error to communicate that it is full and cannot accept new data.
Additionally, fields ReboundNeededThresholdMiB
and ReboundTriggerThresholdMiB
should be validated to be at or lower than this maximum size
Describe alternatives you've considered
As mentioned, there is exporterhelper limit on queue size, but pdata entries can vary wildly in size, and also a single storage extension can be used for multiple purposes.
Additional context
No response