opensearch-project / performance-analyzer-commons

Apache License 2.0
4 stars 18 forks source link

StatsCollector, Aggregators, MetricsConfiguration move #6

Closed Tjofil closed 1 year ago

Tjofil commented 1 year ago

2

This PR focuses on extracting three major components/component groups:

Besides these extractions there is also a fix for Lychee link checker and tests for classes that had them inside their original repos.

There's also been a change to packages, generally small moves and flattening of the hierarchy and removal of rca subpackage as it was misleading in most of the cases.

After this I'll publish two branches, one for PA and second for PA-RCA and make the changes to account for moving of the MetricsConfiguration, aggregators and StatsCollector so we can incrementally change the repos and make sure everything keeps working from their point of view.

Check List

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. For more information on following Developer Certificate of Origin and signing off your commits, please check here.

khushbr commented 1 year ago

Thank you for making the changes @Tjofil. One high level comment I have is around naming of the sub-directories:

Would it make sense to:

  1. Rename collectors -> statcollector as it logically is a single piece for collecting operations stats.
  2. format -> formatter
  3. Move src/main/java/org/opensearch/performanceanalyzer/commons/stats/impl/vals/AggregateValue.java to 1 level up -> src/main/java/org/opensearch/performanceanalyzer/commons/stats/vals/AggregateValue.java
Tjofil commented 1 year ago

@khushbr With 2nd and 3rd I completely agree. Besides StatsCollector we also have PerformanceAnalyzerMetricsCollector and Version classes inside collectors that are to be used by all collectors, we can only move the StatsCollector out if that's what we want but to me this current setup seems fine as other collectors will also live in the collectors package.

khushbr commented 1 year ago

@khushbr With 2nd and 3rd I completely agree. Besides StatsCollector we also have PerformanceAnalyzerMetricsCollector and Version classes inside collectors that are to be used by all collectors, we can only move the StatsCollector out if that's what we want but to me this current setup seems fine as other collectors will also live in the collectors package.

This sounds good to me, let us retain the name of repo as collectors