-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Add single writer principle note to deployment documentation #5166
base: main
Are you sure you want to change the base?
Add single writer principle note to deployment documentation #5166
Conversation
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.
First pass copy edits. Thanks!
@@ -218,3 +218,48 @@ Cons: | |||
https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/tailsamplingprocessor | |||
[spanmetrics-connector]: | |||
https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/connector/spanmetricsconnector | |||
|
|||
## Multiple Collectors / Single Writer Principle |
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 spent an absurd amount of time trying to determine if the name of the principle should be capitalized and hyphenated. If we're going for consistency, the spec page uses "Single-Writer principle". I agree with the hyphen when used before "principle", but I think it should all be lowercase. Please (anyone) contradict me if you think otherwise.
## Multiple Collectors / Single Writer Principle | |
## Multiple collectors and the single-writer principle |
|
||
|
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.
Please remove the extra spaces between paragraphs, here and elsewhere. Thanks!
|
||
|
||
|
||
### Potential Problems |
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.
### Potential Problems | |
### Potential problems |
### Potential Problems | ||
|
||
Concurrent access from multiple applications that modify or report on | ||
the same data can lead to data loss or, at least, degraded data |
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.
Does concurrent access always lead to degraded data quality? If not, I would remove the "at least".
the same data can lead to data loss or, at least, degraded data | |
the same data can lead to data loss or degraded data |
quality. An example would be something like inconsistent data from multiple sources | ||
on the same resource, where the different sources can overwrite each other because | ||
the resource is not uniquely identified. |
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.
quality. An example would be something like inconsistent data from multiple sources | |
on the same resource, where the different sources can overwrite each other because | |
the resource is not uniquely identified. | |
quality. For example, you might see inconsistent data from multiple sources | |
on the same resource, where the different sources can overwrite each other because | |
the resource is not uniquely identified. |
This could indicate that identical targets exist in two jobs, and the order of | ||
the timestamps is incorrect. |
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.
This could indicate that identical targets exist in two jobs, and the order of | |
the timestamps is incorrect. | |
This error could indicate that identical targets exist in two jobs, and the order of | |
the timestamps is incorrect. For example: |
This could indicate that identical targets exist in two jobs, and the order of | ||
the timestamps is incorrect. | ||
|
||
Ex: |
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.
Ex: |
- Metric `M1` received at time 13:56:04 with value `110` | ||
|
||
|
||
### Suggestions |
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.
Is there a more descriptive heading we can use here? "Best practices", maybe?
- Use the [Kubernetes Attributes Processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/k8sattributesprocessor) | ||
to add labels to kubernetes resources |
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.
- Use the [Kubernetes Attributes Processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/k8sattributesprocessor) | |
to add labels to kubernetes resources | |
- Use the [Kubernetes attributes processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/k8sattributesprocessor) | |
to add labels to Kubernetes resources. |
- Use the [Resource Detector Processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/resourcedetectionprocessor/README.md) | ||
to detect resource information from the host and collect metadata related to them. |
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.
- Use the [Resource Detector Processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/resourcedetectionprocessor/README.md) | |
to detect resource information from the host and collect metadata related to them. | |
- Use the [resource detector processor](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/resourcedetectionprocessor/README.md) | |
to detect resource information from the host and collect resource metadata. |
Hi @michael2893. Thanks for sticking with this. A couple of the Collector maintainers reviewed the earlier PR (#4433), so I'm going to ask them to take a look here and make sure their comments have been addressed. @jpkrohling, @mx-psi, PTAL. Thanks! |
Summary
This change addresses the request for documentation on the Single-Writer principle. #4368
Description
deployment/gateway