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

ocagent exporter's bundler stores spans indefinitely in memory #71

@kanwals

Description

@kanwals

What version of the Exporter are you using?

version = "v0.5.0"

What version of OpenCensus are you using?

version = "v0.19.0"

What version of Go are you using?

go1.11.5 darwin/amd64

What did you do?

Consider the below scenario:

An application A is instrumenting its traces using the ocagent-exporter and sending those traces via an oc-collector to a backend.

Hence, if the collector is not reachable for a long enough time, the bundler causes the application's memory to explode, especially if traces are being sampled at a large enough rate. This further leads to the application being down and not being able to serve production traffic.

We have a hunch that this relates to census-instrumentation/opencensus-service#524 as well.

What did you expect to see?

There should be a mechanism by which the unsent bundles should just be dropped if the downstream collector is not able to receive the spans.

What did you see instead?

Huge memory explosion, causing downtime of the application.

Note: Most of the above analysis was done by @elynnyap, I'm just a messenger.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions