graphite-project / graphite-web

A highly scalable real-time graphing system

Home Page:http://graphite.readthedocs.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[BUG] The holtWintersAberration() function fails with an IndexError exception

mux opened this issue · comments

Describe the bug
I'm trying to use the holtWintersAberration() function to detect anomalies, but it fails with a python exception. Here is the output I get from Grafana:

Traceback (most recent call last): File "/opt/graphite/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 132, in get_response response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/opt/graphite/webapp/graphite/errors.py", line 101, in new_f return f(*args, **kwargs)
File "/opt/graphite/webapp/graphite/render/views.py", line 130, in renderView data.extend(evaluateTarget(requestContext, targets))
File "/opt/graphite/webapp/graphite/render/evaluator.py", line 34, in evaluateTarget result = evaluateTokens(requestContext, target) File "/opt/graphite/webapp/graphite/render/evaluator.py", line 67, in evaluateTokens return evaluateTokens(requestContext, tokens.expression, replacements)
File "/opt/graphite/webapp/graphite/render/evaluator.py", line 102, in evaluateTokens args = [evaluateTokens(requestContext, arg, replacements) for arg in rawArgs]
File "/opt/graphite/webapp/graphite/render/evaluator.py", line 67, in evaluateTokens return evaluateTokens(requestContext, tokens.expression, replacements)
File "/opt/graphite/webapp/graphite/render/evaluator.py", line 128, in evaluateTokens return func(requestContext, *args, **kwargs) File "/opt/graphite/webapp/graphite/render/functions.py", line 4151, in holtWintersAberration elif upperBand[i] is not None and series[i] > upperBand[i]: IndexError: list index out of range

To Reproduce
This has happened for every metric I tried this with, but I'm expecting that other people would see different values.

Expected behavior
I expected the graph to be plotted.

Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

  • OS flavor: Ubuntu 16.04
  • Graphite-web version 1.2.0-dev
  • Django 1.8.19 / Python 2.7.12
  • Setup from OS packages

For some reason this works with bootstrapInterval='3d'.

Also, this doesn't happen on the holtWintersConfidenceBands() function with the exact same parameters.

commented

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.