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