-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
New component: FIFO diskbuffer processor #29779
Comments
cc @dashpole |
cc @pmm-sumo , who worked on the persistent queue exporter helper. @CatherineF-dev some initial questions:
Thanks in advance! |
Updated: it can support metrics, logs and traces. Didn't add logs and traces because they don't need FIFO.
It doesn't support this storage extension, because it's a FIFO buffer. So available operations are: 1. push(item) 2. item = pop()
Yes, they are used to determine whether network is disconnected.
Deleted this part, since retry is related to exporter instead of processor. |
I believe you could implement a FIFO queue on top of the storage extension. It keeps track of a "read index" and a "write index", and uses storage.Get/SetOperation to keep items in order. Might be worth exploring.
I think I am incorrect on this, actually. For send failures, the items are requeued at the back, rather than kept at the front. |
There is also a WAL in the remote write exporter, which is FIFO, if i'm reading it correctly: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/exporter/prometheusremotewriteexporter/wal.go. Would making something like that more generically available to components work for your use-cases? |
Thanks! Seems it's FIFO, will check whether it supports retention size and retention time. Not sure whether buffer_size is storage size, or the number of metrics.
|
I think it is the number of metrics. |
This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping |
This issue has been closed as inactive because it has been stale for 120 days with no activity. |
The purpose and use-cases of the new component
Purpose: buffer metrics data in disk when network disconnected.
The buffer is 1. FIFO 2. support retention size 3. support retention time
Why FIFO: some metrics database don't support writing old data points.
Example configuration for the component
Telemetry data types supported
metrics, logs, traces
Is this a vendor-specific component?
Code Owner(s)
@CatherineF-dev, @leonzz
Sponsor (optional)
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: