You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@otava.apache.org by "vishnuchalla (via GitHub)" <gi...@apache.org> on 2026/04/30 10:41:57 UTC
[PR] Fix orig edivisive flow [otava]
vishnuchalla opened a new pull request, #141:
URL: https://github.com/apache/otava/pull/141
### Description
Fix orig edivsive flow. I am running into below error if more than 10 datapoints are being used for analysis
```
vchalla@vchalla-thinkpadp1gen2:~/myforks/otava$ otava --config-file /tmp/otava-10.yaml analyze tiny10 --last 15 -P 0.001 --window 15 -M 0.0 --orig-edivisive=true
INFO: Computing change points for test tiny10...
Traceback (most recent call last):
File "/home/vchalla/.local/bin/otava", line 7, in <module>
sys.exit(main())
^^^^^^
File "/home/vchalla/myforks/otava/otava/main.py", line 651, in main
script_main()
File "/home/vchalla/myforks/otava/otava/main.py", line 578, in script_main
analyzed_series = otava.analyze(
^^^^^^^^^^^^^^
File "/home/vchalla/myforks/otava/otava/main.py", line 125, in analyze
produced_report = report.produce_report(test.name, report_type)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vchalla/myforks/otava/otava/report.py", line 52, in produce_report
return self.__format_log_annotated(test_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vchalla/myforks/otava/otava/report.py", line 87, in __format_log_annotated
change = [c for c in cp.changes if c.metric == col_name]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vchalla/myforks/otava/otava/report.py", line 87, in <listcomp>
change = [c for c in cp.changes if c.metric == col_name]
^^^^^^^^
AttributeError: 'ChangePoint' object has no attribute 'metric'
```
### Testing
Tested and verified in local
```
vchalla@vchalla-thinkpadp1gen2:~/myforks/otava$ otava --config-file /tmp/otava-15.yaml analyze tiny15 -P 0.001 --window 50 -M 0.0 --orig-edivisive
INFO: Computing change points for test tiny15...
time commit metric1
------------------------- -------- ---------
2026-01-01 00:00:00 +0000 c1 100
2026-01-02 00:00:00 +0000 c2 101
2026-01-03 00:00:00 +0000 c3 99
2026-01-04 00:00:00 +0000 c4 100
2026-01-05 00:00:00 +0000 c5 102
2026-01-06 00:00:00 +0000 c6 101
2026-01-07 00:00:00 +0000 c7 100
2026-01-08 00:00:00 +0000 c8 99
2026-01-09 00:00:00 +0000 c9 100
·········
+30.3%
·········
2026-01-10 00:00:00 +0000 c10 130
2026-01-11 00:00:00 +0000 c11 131
2026-01-12 00:00:00 +0000 c12 130
2026-01-13 00:00:00 +0000 c13 132
2026-01-14 00:00:00 +0000 c14 130
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@otava.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Fix orig edivisive flow [otava]
Posted by "henrikingo (via GitHub)" <gi...@apache.org>.
henrikingo commented on PR #141:
URL: https://github.com/apache/otava/pull/141#issuecomment-4389340656
Whether testing the full output of `otava analyze -h` is meaningful is another question... But anyway, you need
```
--- a/tests/cli_help_test.py
+++ b/tests/cli_help_test.py
@@ -162,7 +162,7 @@ usage: otava analyze [-h] [--config-file CONFIG_FILE] [--graphite-url GRAPHITE_U
[--output {{log,json,regressions_only}}] [--branch [STRING]] [--metrics LIST]
{usage_filter_lines}
[--last COUNT] [-P, --p-value PVALUE] [-M MAGNITUDE] [--window WINDOW]
- [--orig-edivisive ORIG_EDIVISIVE]
+ [--orig-edivisive]
tests [tests ...]
- --orig-edivisive ORIG_EDIVISIVE
- use the original edivisive algorithm with no windowing and weak change
+ --orig-edivisive use the original edivisive algorithm with no windowing and weak change
points analysis improvements
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@otava.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Fix orig edivisive flow [otava]
Posted by "vishnuchalla (via GitHub)" <gi...@apache.org>.
vishnuchalla commented on PR #141:
URL: https://github.com/apache/otava/pull/141#issuecomment-4389762265
> Whether testing the full output of `otava analyze -h` is meaningful is another question... But anyway, you need
>
> ```
> --- a/tests/cli_help_test.py
> +++ b/tests/cli_help_test.py
>
> @@ -162,7 +162,7 @@ usage: otava analyze [-h] [--config-file CONFIG_FILE] [--graphite-url GRAPHITE_U
> [--output {{log,json,regressions_only}}] [--branch [STRING]] [--metrics LIST]
> {usage_filter_lines}
> [--last COUNT] [-P, --p-value PVALUE] [-M MAGNITUDE] [--window WINDOW]
> - [--orig-edivisive ORIG_EDIVISIVE]
> + [--orig-edivisive]
> tests [tests ...]
>
> - --orig-edivisive ORIG_EDIVISIVE
> - use the original edivisive algorithm with no windowing and weak change
> + --orig-edivisive use the original edivisive algorithm with no windowing and weak change
> points analysis improvements
> ```
I think the tests just need a re-run?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@otava.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Fix orig edivisive flow [otava]
Posted by "henrikingo (via GitHub)" <gi...@apache.org>.
henrikingo commented on PR #141:
URL: https://github.com/apache/otava/pull/141#issuecomment-4367749704
I think your patch looks good except for this one linting failure. If you move the TTestSignificanceTester one line up, I'll hit the button to rerun tests for you.
In the mean time, do you already have a signed contributor agreement on file with the ASF? If not:
> https://www.apache.org/licenses/contributor-agreements.html
> Short version is, download the ICLA pdf, sign it either with a pen or GnuPG, email it to [secretary@apache.org](mailto:secretary@apache.org)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@otava.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Fix orig edivisive flow [otava]
Posted by "Gerrrr (via GitHub)" <gi...@apache.org>.
Gerrrr commented on PR #141:
URL: https://github.com/apache/otava/pull/141#issuecomment-4151189070
> Unfortunately, rather than fixing the orig_edivisive flow, in master, we should actually remove it.
+1.
> Note that in the 0.7 branch you can still use --orig-edivisive, but as far as I can tell, this bug isn't happening in that branch.
@vishnuchalla if you find issues with --orig-edivisive in 0.7.0, we can fix it there and do a bugfix release.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@otava.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Fix orig edivisive flow [otava]
Posted by "henrikingo (via GitHub)" <gi...@apache.org>.
henrikingo closed pull request #141: Fix orig edivisive flow
URL: https://github.com/apache/otava/pull/141
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@otava.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Fix orig edivisive flow [otava]
Posted by "henrikingo (via GitHub)" <gi...@apache.org>.
henrikingo commented on PR #141:
URL: https://github.com/apache/otava/pull/141#issuecomment-4390869250
Thanks. And nice to have you here @vishnuchalla !
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@otava.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Fix orig edivisive flow [otava]
Posted by "vishnuchalla (via GitHub)" <gi...@apache.org>.
vishnuchalla commented on PR #141:
URL: https://github.com/apache/otava/pull/141#issuecomment-4370995884
> I think your patch looks good except for this one linting failure. If you move the TTestSignificanceTester one line up, I'll hit the button to rerun tests for you.
>
> In the mean time, do you already have a signed contributor agreement on file with the ASF? If not:
>
> > https://www.apache.org/licenses/contributor-agreements.html
> > Short version is, download the ICLA pdf, sign it either with a pen or GnuPG, email it to [secretary@apache.org](mailto:secretary@apache.org)
Singed and emailed the ICLA. Also fixed the linting issue. PTAL once you get sometime. Thank you.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@otava.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Fix orig edivisive flow [otava]
Posted by "henrikingo (via GitHub)" <gi...@apache.org>.
henrikingo commented on PR #141:
URL: https://github.com/apache/otava/pull/141#issuecomment-4150972699
Unfortunately, rather than fixing the orig_edivisive flow, in master, we should actually remove it.
By orig_edivisive we mean the original, close to textbook implementation at MongoDB in 2017. Since we no longer want to depend on the external dependency, we cannot offer this option anymore.
Note that in the 0.7 branch you can still use --orig-edivisive, but as far as I can tell, this bug isn't happening in that branch.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@otava.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Fix orig edivisive flow [otava]
Posted by "henrikingo (via GitHub)" <gi...@apache.org>.
henrikingo commented on PR #141:
URL: https://github.com/apache/otava/pull/141#issuecomment-4351765255
Oh dear... My sincerest apologies. I was looking into something unrelated yesterday and realized that there is a completely valid --orig-edivisive flow also in the new algorithm in main branch / 0.8.0 and higher. I had forgotten that @Sowiks did re-implement a version of the algorithm that is entered at https://github.com/apache/otava/blob/1ceb1537a49d516cf6cef9a79bea6926002082f8/otava/analysis.py#L280
...and your patch is against that.
I will re-open this and look at your patch later.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@otava.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Fix orig edivisive flow [otava]
Posted by "vishnuchalla (via GitHub)" <gi...@apache.org>.
vishnuchalla commented on PR #141:
URL: https://github.com/apache/otava/pull/141#issuecomment-4390820708
> The merge re-introduced [413d774](https://github.com/apache/otava/commit/413d774ab868a9ebf592010d056b80eef0b76621)
Oops, fixed.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@otava.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Fix orig edivisive flow [otava]
Posted by "henrikingo (via GitHub)" <gi...@apache.org>.
henrikingo commented on PR #141:
URL: https://github.com/apache/otava/pull/141#issuecomment-4390793372
The merge re-introduced 413d774
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@otava.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Fix orig edivisive flow [otava]
Posted by "henrikingo (via GitHub)" <gi...@apache.org>.
henrikingo merged PR #141:
URL: https://github.com/apache/otava/pull/141
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@otava.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Fix orig edivisive flow [otava]
Posted by "vishnuchalla (via GitHub)" <gi...@apache.org>.
vishnuchalla commented on PR #141:
URL: https://github.com/apache/otava/pull/141#issuecomment-4130145912
cc: @henrikingo @Gerrrr
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@otava.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Fix orig edivisive flow [otava]
Posted by "henrikingo (via GitHub)" <gi...@apache.org>.
henrikingo commented on PR #141:
URL: https://github.com/apache/otava/pull/141#issuecomment-4367711175
Ok yes,I caught up with this.
Working indepently on a different patch, I end up needing exactly this patch for --orig-edivisive
+1
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@otava.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] Fix orig edivisive flow [otava]
Posted by "henrikingo (via GitHub)" <gi...@apache.org>.
henrikingo commented on PR #141:
URL: https://github.com/apache/otava/pull/141#issuecomment-4153599247
Closing. If we misunderstood something, please just reply here and reopen.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@otava.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org