Autodialer performance issues šŸ˜…

Iā€™ve been using Beeminder Autodialer on one of my goals since August 2022. However, I think itā€™s breaking the siteā€¦

My (private) activity goal takes over 20 seconds to load on beeminder.com and I suspect that itā€™s because it has over 600 rate changes.

I get a lot of value from Autodialer, but I donā€™t get a lot of value from having an accurate depiction of my yellow brick road 2 years ago. Can I safely expunge some of the old rate changes somehow?

4 Likes

Yeah, thatā€™s a reasonable workaround (and thanks for highlighting the general problem!). You can do it with graph.beeminder.com.

3 Likes

The slowness is related to the graph itself, right? (And not downloading the json with lots of road changes or datapoints)

Well maybe you could keep the data while speeding up the page load by adjusting the graphā€™s displayed date range (tmin and tmax). These are under your goal / Settings / Graph Settings / as X-min and X-max.

2 Likes

To clarify a bit further on Dannyā€™s answer for anyone who isnā€™t super-experienced with the graph editor, you can delete quite a lot of the old graph rows with no trouble, as long as you make sure thereā€™s an anchor point now to prevent your line changing place.

I did a quick recording of an example of this.

It actually didnā€™t work quite right at first, probably because I shouldā€™ve set it not to todayā€™s date, but to yesterdayā€™s date, but the important thing to note is that you can see how it ā€œanchorsā€ the line so that all the changes Iā€™m making in erasing old rates donā€™t impact where the line is now. It shouldā€™ve been yesterdayā€™s date and not todayā€™s so that it would keep things the same for the last deadline, and that wouldā€™ve worked perfectly the whole time.

Make sure to click into the value column for that anchor row, like I did ā€“ by default the rate is active and the value is auto-calculated, but you need the value to stay exactly what it is.

If you do want to make any other adjustments, like add an extra anchor and drag it around so that past datapoints arenā€™t in the red, you probably want to uncheck the button for ā€œpropagate changes forwardā€.

No changes are saved until you actually press save, so if you do something you donā€™t like, you can just hit undo.

But the trick mentioned about just changing the x-min would also work for you (though not for support if we ever needed to look at the graph in question ā€“ for support things would still load slowly as we load in your whole graph matrix in our admin panel, even if itā€™s hidden by the x-min setting).

4 Likes

Makes me think maybe this should be a feature of the autodialer to clean up after itself. On the other hand, I donā€™t know. Rewriting history feels bad.

I changed the graph to start two weeks ago and it didnā€™t seem to help. I never profiled it, but other parts of the page are set to scale with the number of rate changes too, like all the rate change text boxes on the settings tab.

2 Likes

I use the autodialer for many of my goals and have for a long time, so Iā€™m curious why I havenā€™t noticed this problem on any of mine yet. Like given a comparable history of using the autodialer, shouldnā€™t it affect all goals perf equally?

1 Like

I think it is not specific to the autodialer but comments have been made that the current implementation does not scale well^1 with many changes to the road matrix.

Probably the current implementation (beebrain) is such that it walks the entire datapoint and roadpoint (road matrix) lists validating datapoints, calculating rates, values, dot colors, and so on and currently must do so from the beginning til ā€˜nowā€™ to create/calculate the graph (and stats).

Thus my curiosity about cropping the displayed graph range (tmin) does not carry the benefit I was thinking it might.

1- The case for making "Automatically trim safety buffer" a free feature - #9 by dreev does not specifically mention performance issues, just that there is something undesirable about many road matrix entries.

2 Likes

Do you use Chrome?

I usually use Safari, where I noticed the whole tab would freeze when opening my most heavily auto-dialed goal. Today, I opened that goal with Chrome and noticed a few differences:

  1. The tab became interactive immediately after the page loaded.
  2. The tab froze only momentarily when I opened the settings tab.
  3. Chrome allowed me me to scroll the settings tab even before it had finished rendering all the text boxes. There was a big, empty space where the text boxes would eventually render, and they popped into place a few seconds later.

So it appears that both Chrome and Safari struggle with the page, but Chrome is better at doing work in the background.

1 Like

I use Arc, which uses Chromium under the hood I think. And strangely, yeah, havenā€™t yet seen any perf issues. :thinking:

Do you have any public goals that have the same issue?

As an aside, what kind of things do people use the autodialer for?

it seems my handful of goals are all odometer style goals which are not supported.

2 Likes

No, sorry!

1 Like

My most successful was my exercise minutes goal. I knew that I wanted to get to 22 AZM per day, but I wasnā€™t anywhere near there when I started. The autodialer let me beemind a rate of improvement.

2 Likes

@alltom Are there a lot of duplicate rows in the goal matrix, like rows that could be deleted and not impact the graph even slightly? Also when was the goal created?

I archived it, and I guess I canā€™t see them any more. But the history was all fractional changes, for the most part IIRC. Iā€™m sure that most of them had little impact.

1 Like