-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
export: Added "promtest" framework allowing tests against GCM and Prometheus; Added counter test. #634
Conversation
0308b25
to
41a4d93
Compare
Added |
a4ec6e9
to
abb06d9
Compare
…metheus; Added counter test. Signed-off-by: bwplotka <bwplotka@google.com>
abb06d9
to
dff9b1d
Compare
All should work, PTAL @TheSpiritXIII @pintohutch |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work on this large PR! Left some initial feedback. :)
Thanks for review! Address all comments so far @TheSpiritXIII (: |
@bwplotka I'm going to approve. Only nit is the |
Signed-off-by: bwplotka <bwplotka@google.com>
a839dbb
to
9c125f2
Compare
This is great! We'd love a demo walkthrough of the e2e package at some point 😄 In general, this PR was a little intimidating in size. Can we try to put up smaller diffs for review? WDYT about daisy-chaining baby PRs so we don't hinder development while lowering the review burden? |
Thanks @TheSpiritXIII for review and @pintohutch for feedback. This could be split a bit yea (e.g I could split local export AND e2e Prometheus into two), let's try that next time! The beauty of one atomic PR is that reviewer understands clearly why this complexity and e2e dependency is needed. There is also question PR author time, given chaining PRs in on GitHub is non trivial - definitely it would be good idea to document how we want to do it as a team 🤗 |
This PR:
pkg/export/gcm/promtest
pkg that contains "IngestionTest" framework.pkg/export/gcm/export_gcm_test.go
that implements a simple counter test that showcases the framework use.This uses docker the e2e framework I maintain with some Thanos maintainers for Prometheus test and local export code for "GMP" test. The "local export" is so we can use local debugger and test EVERY export change in this repo.
Tests with Prometheus enabled, takes N samples * 5 seconds. We could take scrape interval to 1s, but it might kill our CI CPU. We can also disable Prometheus tests for CI and run it only locally.
Those tests will also NOT run for contributors as it requires secret.
In future PRs we can: