timescale / tsbs

Time Series Benchmark Suite, a tool for comparing and evaluating databases for time series data
MIT License
1.29k stars 300 forks source link

Rewrite tsbs_generate_queries to use internal/inputs #65

Closed RobAtticus closed 5 years ago

RobAtticus commented 5 years ago

This PR continues on the work in the previous one that changed tsbs_generate_data to use a new internal/inputs package. This PR adds a new Generator type for query generation called QueryGenerator.

Now that these two generators share some common code, they both become much more robust and easier to test and manage. Previously tsbs_generate_queries had no test coverage, but with this change it will actually have quite high coverage.

There are still some rough spots with this refactor. In particular, how the useCaseMatrix is handled needs some more thought, especially if we are going to add more use cases going forward. Additionally, the database specific flags like TimescaleUseJSON could probably be handled in a cleaner way as well.

codecov-io commented 5 years ago

Codecov Report

Merging #65 into master will increase coverage by 1.35%. The diff coverage is 90.37%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #65      +/-   ##
==========================================
+ Coverage   52.14%   53.49%   +1.35%     
==========================================
  Files          75       76       +1     
  Lines        3592     3716     +124     
==========================================
+ Hits         1873     1988     +115     
- Misses       1699     1706       +7     
- Partials       20       22       +2
Impacted Files Coverage Δ
internal/inputs/generator.go 52.63% <0%> (ø) :arrow_up:
internal/inputs/utils.go 78.26% <100%> (+15.1%) :arrow_up:
internal/inputs/generator_data.go 89.55% <100%> (-0.45%) :arrow_down:
internal/inputs/generator_queries.go 91.26% <91.26%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update b581528...c4fea9e. Read the comment docs.