Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix reporting of dead upstream statsd metrics #442

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

matthew-lucidchart
Copy link

we have statsd servers sending stats to other statsd processes. when the upstream servers die, we don't want to persist the metrics.

@mrtazz
Copy link
Member

mrtazz commented Feb 6, 2015

What does this fix exactly? It seems like it's changing the behaviour from setting it to 0 for the internal stats, to setting it to zero if the metrics string is empty?

@coykitten
Copy link
Contributor

Is this something that can be fixed by setting deleteIdleStats true?
On Feb 6, 2015 1:47 PM, "Daniel Schauenberg" notifications@github.com
wrote:

What does this fix exactly? It seems like it's changing the behaviour from
setting it to 0 for the internal stats, to setting it to zero if the
metrics string is empty?


Reply to this email directly or view it on GitHub
#442 (comment).

@matthew-lucidchart
Copy link
Author

Each server in my environment has a statsd process running with a repeater on it. They all feed to a collector statsd that aggregates all stats together and sends them to graphite. The problem is when the collector saves metrics of servers that have gone away. It keeps reporting them.... forever.... This fix makes sure that each instance of statsd only saves its own set of metrics as time goes on.

It cannot be fixed by deleteIdleStats.

@mrtazz
Copy link
Member

mrtazz commented Feb 7, 2015

Ah ok that makes sense. But still the branch should be checking for the full configured metrics string for the local instance and not the empty string, right?

@matthew-lucidchart
Copy link
Author

The diff doesn't show it well, but that's exactly what's happening. If you open the full file, and track those two empty variables, you'll see what I'm talking about.

When the config is parsed, those two variables are set, but on global variables, not local to the config update function. My setting them to empty string is just to specify global scope. Then, I access them later, as found in the diff.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants