Skip to content
This repository was archived by the owner on Oct 3, 2023. It is now read-only.
This repository was archived by the owner on Oct 3, 2023. It is now read-only.

Decide what to do when async event queue is full. #262

@songy23

Description

@songy23

In a few OpenCensus implementations, span events and stats recording events are treated as entries in a ring buffer. Currently if the buffer is full, producers will be blocked. In large-scale systems who generate a lot of events, blocking may be a problem. As an example see census-instrumentation/opencensus-java#1837 (comment).

Alternatively we can consider dropping events when the ring buffer is full (which is implemented in census-instrumentation/opencensus-java#1837). However, although may be fine to drop span/stats events, when we introduce logging API to OpenCensus, it may not be good to drop logs.

This question originates from census-instrumentation/opencensus-java#1809 in Java, but we also had a similar issue in Go (brought up by Istio in istio/istio#9964).

/cc @dinooliva @rghetia @bogdandrutu @c24t

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions