diff options
| author | 2025-05-26 16:13:55 +0200 | |
|---|---|---|
| committer | 2025-05-26 16:13:55 +0200 | |
| commit | 143febb318ee16ca68ea312249ab5dadeab608bb (patch) | |
| tree | 594820ce5f746c7c9d0e28cc8820da563b0c4bdd /vendor/go.opentelemetry.io/otel/sdk/log/batch.go | |
| parent | [chore] migration to update `statuses.thread_id` to be notnull (#4160) (diff) | |
| download | gotosocial-143febb318ee16ca68ea312249ab5dadeab608bb.tar.xz | |
[chore] update dependencies (#4196)
- go.opentelemetry.io/contrib/exporters/autoexport v0.60.0 -> v0.61.0
- go.opentelemetry.io/contrib/instrumentation/runtime v0.60.0 -> v0.61.0
Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4196
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
Diffstat (limited to 'vendor/go.opentelemetry.io/otel/sdk/log/batch.go')
| -rw-r--r-- | vendor/go.opentelemetry.io/otel/sdk/log/batch.go | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/vendor/go.opentelemetry.io/otel/sdk/log/batch.go b/vendor/go.opentelemetry.io/otel/sdk/log/batch.go index 28c969262..b91741d58 100644 --- a/vendor/go.opentelemetry.io/otel/sdk/log/batch.go +++ b/vendor/go.opentelemetry.io/otel/sdk/log/batch.go @@ -156,13 +156,20 @@ func (b *BatchProcessor) poll(interval time.Duration) (done chan struct{}) { global.Warn("dropped log records", "dropped", d) } - qLen := b.q.TryDequeue(buf, func(r []Record) bool { - ok := b.exporter.EnqueueExport(r) - if ok { - buf = slices.Clone(buf) - } - return ok - }) + var qLen int + // Don't copy data from queue unless exporter can accept more, it is very expensive. + if b.exporter.Ready() { + qLen = b.q.TryDequeue(buf, func(r []Record) bool { + ok := b.exporter.EnqueueExport(r) + if ok { + buf = slices.Clone(buf) + } + return ok + }) + } else { + qLen = b.q.Len() + } + if qLen >= b.batchSize { // There is another full batch ready. Immediately trigger // another export attempt. @@ -272,6 +279,13 @@ func newQueue(size int) *queue { } } +func (q *queue) Len() int { + q.Lock() + defer q.Unlock() + + return q.len +} + // Dropped returns the number of Records dropped during enqueueing since the // last time Dropped was called. func (q *queue) Dropped() uint64 { |
