-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Verify all receivers to make sure they follow the correct order of operations #5909
Comments
This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping |
Signed-off-by: Bogdan <[email protected]> Signed-off-by: Bogdan <[email protected]>
This issue has been closed as inactive because it has been stale for 120 days with no activity. |
@open-telemetry/collector-maintainers is there a way to prevent certain issues from being closed as inactive? The fact that this was inactive for 120 days does not make it less true :-) |
You can add the "never stale" tag to the issue. I have done this now. |
Is this a manual audit? We can add a test as part of the component test suite but not sure how to test receivers that actively scrape endpoints. |
Automated tests are of course much more preferable. For periodic scrapers this is probably less important (if datapoints is lost typically nothing catastrophic happens since they are usually cumulative). I would focus on the network receivers. |
Updated the description to also explain expectations from non-network receivers that use checkpointing. |
OK so if I was to be methodical about it, I would do this:
|
@atoulme looks like a good plan, thanks! Couple Qs:
Not sure I understand why a warning is needed here. Checkpointing is needed for any receiver doing continuous reading from an external source, e.g., a file. So it's a preferred behavior, not a warning.
I believe this issue can serve that purpose. We can create subtasks here for each receiver. |
I agree on the warning thing. The status metadata currently can contain warnings, or at least that's what we're working towards. Warnings are over broad in their definition right now - you can think of them as "features", or "particularities'. One such warning being discussed is a component being "stateful" (with quotes because being stateful is itself a discussion). So if you prefer a more precise term, we can take that up and discuss. I just want to point out that we have a way to identify components that use checkpointing as part of their metadata. |
Makes sense. We can probably introduce more categorization to the receivers, e.g.:
|
Peeling off #21049 as a separate issue to address this, lgtm! |
**Description:** This is my first PR to ensure that all network receivers adhere to [the contract](https://github.com/open-telemetry/opentelemetry-collector/blob/df3c9e38a80ccc3b14705462be2e2e51c628a3b3/receiver/doc.go#L10) and maintain the correct order of operations. I also plan to submit additional PRs for other receivers in the future. Follow receiver contract for `sapmreceiver`. This also includes an internal `errorutil` package which will be used by other network receivers as well. **Link to tracking Issue:** #5909 **Testing:** Added
**Description:** This is my first PR to ensure that all network receivers adhere to [the contract](https://github.com/open-telemetry/opentelemetry-collector/blob/df3c9e38a80ccc3b14705462be2e2e51c628a3b3/receiver/doc.go#L10) and maintain the correct order of operations. I also plan to submit additional PRs for other receivers in the future. Follow receiver contract for `sapmreceiver`. This also includes an internal `errorutil` package which will be used by other network receivers as well. **Link to tracking Issue:** open-telemetry#5909 **Testing:** Added
#### Description Follow [the contract](https://github.com/open-telemetry/opentelemetry-collector/blob/df3c9e38a80ccc3b14705462be2e2e51c628a3b3/receiver/doc.go#L10) for cloudflare receiver <!-- Issue number (e.g. #1234) or full URL to issue, if applicable. --> #### Link to tracking issue Related #5909 <!--Describe what testing was performed and which tests were added.--> #### Testing Added
**Description:** Follow receiver contract for `loki`. This also includes an internal errorutil package which will be used by other network receivers as well. **Link to tracking Issue:** #5909 **Testing:** Added
…telemetry#35642) #### Description Follow [the contract](https://github.com/open-telemetry/opentelemetry-collector/blob/df3c9e38a80ccc3b14705462be2e2e51c628a3b3/receiver/doc.go#L10) for cloudflare receiver <!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. --> #### Link to tracking issue Related open-telemetry#5909 <!--Describe what testing was performed and which tests were added.--> #### Testing Added
**Description:** Follow receiver contract for `loki`. This also includes an internal errorutil package which will be used by other network receivers as well. **Link to tracking Issue:** open-telemetry#5909 **Testing:** Added
See open-telemetry/opentelemetry-collector#4262:
Ideally we want this to be verified by automated tests.
UPDATE: In the spirit of the same strong delivery guarantees, the receivers that use checkpointing (e.g. filelog receiver) must save the checkpoint AFTER they push the data to the pipeline (after Consume*() call returns).
The text was updated successfully, but these errors were encountered: