-
Notifications
You must be signed in to change notification settings - Fork 368
MON-3500: Enable sending exemplars over RW in UWM #2161
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
Conversation
rexagod
commented
Nov 23, 2023
- I added CHANGELOG entry for this change.
- No user facing changes, so no entry in CHANGELOG was needed.
Skipping CI for Draft Pull Request. |
@rexagod: This pull request references MON-3500 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "4.15.0" version, but no target version was set. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
ed24b98
to
b6ea201
Compare
/retest |
pkg/manifests/manifests.go
Outdated
// Explicitly warn that we are ignoring the `SendExemplars` configuration for in-cluster scenarios. | ||
for _, rws := range f.config.ClusterMonitoringConfiguration.PrometheusK8sConfig.RemoteWrite { | ||
if rws.SendExemplars != nil && *rws.SendExemplars { | ||
klog.Warningln("Enabling `SendExemplars` in the in-cluster Prometheus configuration has no affect, as it is only supported for UWM configurations.") |
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.
I'm not sure we need a warning log. IMHO it would be lost in the existing output + there's no harm being done by having the flag enabled here.
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.
Agree on this, maybe just adding some DEBUG info in case we'd like to check it out.
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.
ACK. I thought that even though there's no weight to this being enabled here (since exemplar-storage
is not enabled), we might want to have an indication of that behavior. Nonetheless, I agree that it's fairly easy for someone to figure out if any experimental feature is not enabled by looking over at the CLI args supplied to the binary.
I'll drop this. 👍🏼
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.
@danielmellado Ah, it seems I missed your comment. Do you suppose we replace Warningln
with a V(x)
level call?
3d0fb69
to
3df6b9d
Compare
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.
It needs an e2e test, at least to check that the feature gets enabled.
Ideally we add exemplars support in https://github.com/rhobs/prometheus-example-app and check that they can be queried via the Prometheus/Thanos APIs.
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.
/hold
/cc @bburt-rh
waiting for tests and Brian's review.
/test e2e-agnostic-operator |
/label docs-approved |
/hold cancel |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: rexagod, simonpasquier The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
// configured to store a maximum of 100,000 exemplars in memory. | ||
// Note that this setting only applies to user-defined monitoring. It is not applicable | ||
// to default in-cluster monitoring. | ||
SendExemplars *bool `json:"sendExemplars,omitempty"` |
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.
I though we could also have a
type UWMRemoteWriteSpec struct {
RemoteWriteSpec
// Enables sending exemplars via remote write. When enabled, Prometheus is
// configured to store a maximum of 100,000 exemplars in memory.
SendExemplars *bool `json:"sendExemplars,omitempty"`
}
and then use that in PrometheusRestrictedConfig
. That would make it clearer what option can be used where. Though not sure how that affects the API doc generation.
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.
just to be sure, this is not a blocker for me and we could go ahead as is.
@rexagod: The following test failed, say
Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
[ART PR BUILD NOTIFIER] This PR has been included in build cluster-monitoring-operator-container-v4.15.0-202311282232.p0.gfbd3e7c.assembly.stream for distgit cluster-monitoring-operator. |