-
Notifications
You must be signed in to change notification settings - Fork 2.2k
[chore] Standardize markdown #14761
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
[chore] Standardize markdown #14761
Changes from 4 commits
7752217
742dc7f
486b5c8
71ef22f
f8a2aad
4a5fde8
1340ced
743e5b1
b2fc773
4e52431
b7504b0
8cd5a8a
c694758
dd3114d
2e91bc2
907ce69
4f78437
e7c7ff9
aaaa683
5754fcb
53776ce
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -59,7 +59,7 @@ Components refer to connectors, exporters, extensions, processors, and receivers | |
| * Provide a configuration structure which defines the configuration of the component | ||
| * Provide the implementation that performs the component operation | ||
|
|
||
| For more details on components, see the [Adding New Components](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#adding-new-components) document and the tutorial [Building a Trace Receiver](https://opentelemetry.io/docs/collector/trace-receiver/) which provides a detailed example of building a component. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not sure this is related to mdlint rules.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These links were broken because of the standardization changes shifting what lines the headers were on. It was caught in CI: https://github.com/open-telemetry/opentelemetry-collector/actions/runs/23018206609/job/66847201360. The links referencing specific lines became invalid due to enforcing MD012 since it shifts the lines that references point to.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Also, I'm not sure why the job caught this link breakage just now, since the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Shouldn't in this case the link be pointing to
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| For more details on components, see the [Adding New Components](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md) document and the tutorial [Building a Trace Receiver](https://opentelemetry.io/docs/collector/trace-receiver/) which provides a detailed example of building a component. | ||
|
|
||
| When adding a new component to the OpenTelemetry Collector, ensure that any configuration structs used by the component include fields with the `configopaque.String` type for sensitive data. This ensures that the data is masked when serialized to prevent accidental exposure. | ||
|
|
||
|
|
@@ -211,20 +211,20 @@ Working with the project sources requires the following tools: | |
| Fork the repo and checkout the upstream repo to your GOPATH by: | ||
|
|
||
| ``` | ||
| $ git clone git@github.com:open-telemetry/opentelemetry-collector.git | ||
| git clone git@github.com:open-telemetry/opentelemetry-collector.git | ||
| ``` | ||
|
|
||
| Add your fork as an origin: | ||
|
|
||
| ```shell | ||
| $ cd opentelemetry-collector | ||
| $ git remote add fork git@github.com:YOUR_GITHUB_USERNAME/opentelemetry-collector.git | ||
| cd opentelemetry-collector | ||
| git remote add fork git@github.com:YOUR_GITHUB_USERNAME/opentelemetry-collector.git | ||
| ``` | ||
|
|
||
| Run tests, fmt, and lint: | ||
|
|
||
| ```shell | ||
| $ make | ||
| make | ||
| ``` | ||
|
|
||
| You can run `make markdownlint` to check Markdown formatting. | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -126,7 +126,6 @@ service: | |
| extensions: [ file_storage ] | ||
| ``` | ||
|
|
||
|
|
||
| ```yaml | ||
| # extra_extension.yaml | ||
| extensions: | ||
|
|
||
| Original file line number | Diff line number | Diff line change | ||
|---|---|---|---|---|
| @@ -1,8 +1,8 @@ | ||||
| # Component Status Reporting | ||||
|
|
||||
| Component status reporting is a collector feature that allows components to report their status (aka health) via status events to extensions. In order for an extension receive these events it must implement the [StatusWatcher interface](https://github.com/open-telemetry/opentelemetry-collector/blob/f05f556780632d12ef7dbf0656534d771210aa1f/extension/extension.go#L54-L63). | ||||
| Component status reporting is a collector feature that allows components to report their status (aka health) via status events to extensions. In order for an extension receive these events it must implement the [Watcher interface](https://github.com/open-telemetry/opentelemetry-collector/blob/main/component/componentstatus/status.go). | ||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why is this link changing?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Line references should still work and be maintained. Also previously this was pinned to a commit rather than main. It would be better to have this pinned to a tag that way the link is less likely to get broken.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I've updated the link to
This references the line the new interface is on and also pins to a commit. |
||||
|
|
||||
| ### Status Definitions | ||||
| ## Status Definitions | ||||
|
|
||||
| The system defines six statuses, listed in the table below: | ||||
|
|
||||
|
|
@@ -29,18 +29,17 @@ Statuses can be categorized into two groups: lifecycle and runtime. | |||
| - PermanentError | ||||
| - FatalError | ||||
|
|
||||
| ### Transitioning Between Statuses | ||||
| ## Transitioning Between Statuses | ||||
|
|
||||
| There is a finite state machine underlying the status reporting API that governs the allowable state transitions. See the state diagram below: | ||||
|
|
||||
|
|
||||
|  | ||||
|
|
||||
| The finite state machine ensures that components progress through the lifecycle properly and it manages transitions through runtime states so that components do not need to track their state internally. Only changes in status result in new events being generated; repeat reports of the same status are ignored. PermanentError is a permanent runtime state. A component in a PermanentError state cannot transition to OK or RecoverableError, but it can transition to Stopping. FatalError is a final state. A component in a FatalError state cannot make any further state transitions. | ||||
|
|
||||
|  | ||||
|
|
||||
| ### Automation | ||||
| ## Automation | ||||
|
|
||||
| The collector's service implementation is responsible for starting and stopping components. Since it knows when these events occur and their outcomes, it can automate status reporting of lifecycle events for components. | ||||
|
|
||||
|
|
@@ -52,7 +51,7 @@ The collector will report a Starting event when starting a component. If an erro | |||
|
|
||||
| The collector will report a Stopping event when shutting down a component. If Shutdown returns an error, the collector will report a PermanentError event. If Shutdown completes without an error, the collector will report a Stopped event. | ||||
|
|
||||
| ### Best Practices | ||||
| ## Best Practices | ||||
|
|
||||
| **Start** | ||||
|
|
||||
|
|
@@ -70,7 +69,7 @@ We intend to define guidelines to help component authors distinguish between rec | |||
|
|
||||
| A component should never have to report explicit status during shutdown. Automated status reporting should handle all cases. To recap, the collector will report Stopping before Shutdown is called. If a component returns an error from shutdown the collector will report a PermanentError and it will report Stopped if Shutdown returns without an error. | ||||
|
|
||||
| ### Implementation Details | ||||
| ## Implementation Details | ||||
|
|
||||
| There are a couple of implementation details that are worth discussing for those who work on or wish to understand the collector internals. | ||||
|
|
||||
|
|
@@ -84,4 +83,4 @@ The service gets a slightly different TelemetrySettings object, a servicetelemet | |||
|
|
||||
| **sharedcomponent** | ||||
|
|
||||
| The collector has the concept of a shared component. A shared component is represented as a single component to the collector, but represents multiple logical components elsewhere. The most common usage of this is the OTLP receiver, where a single shared component represents a logical instance for each signal: traces, metrics, and logs (although this can vary based on configuration). When a shared component reports status it must report an event for each of the logical instances it represents. In the current implementation, shared component reports status for all its logical instances during [Start](https://github.com/open-telemetry/opentelemetry-collector/blob/31ac3336d956d93abede6db76453730613e1f076/internal/sharedcomponent/sharedcomponent.go#L89-L98) and [Shutdown](https://github.com/open-telemetry/opentelemetry-collector/blob/31ac3336d956d93abede6db76453730613e1f076/internal/sharedcomponent/sharedcomponent.go#L105-L117). It also [modifies the ReportStatus method](https://github.com/open-telemetry/opentelemetry-collector/blob/31ac3336d956d93abede6db76453730613e1f076/internal/sharedcomponent/sharedcomponent.go#L34-L44) on component.TelemetrySettings to report status for each logical instance when called. | ||||
| The collector has the concept of a shared component. A shared component is represented as a single component to the collector, but represents multiple logical components elsewhere. The most common usage of this is the OTLP receiver, where a single shared component represents a logical instance for each signal: traces, metrics, and logs (although this can vary based on configuration). When a shared component reports status it must report an event for each of the logical instances it represents. In the current implementation, shared component reports status for all its logical instances during [Start](https://github.com/open-telemetry/opentelemetry-collector/blob/main/internal/sharedcomponent/sharedcomponent.go) and [Shutdown](https://github.com/open-telemetry/opentelemetry-collector/blob/main/internal/sharedcomponent/sharedcomponent.go). It also [wraps the host's Report method](https://github.com/open-telemetry/opentelemetry-collector/blob/main/internal/sharedcomponent/sharedcomponent.go) to report status for each logical instance when called. | ||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. As above
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The lines have shifted on this one as well. I'd be happy to update the line references, and as I think of it more, it seems like the way to go, but it's important to note that the CI is not presently and actively picking up when documentation headers are changed and how that interacts with the links throughout the documentation. I'd be happy to take a look into that too. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeap update the line numbers & ideally also pin it to a tag rather than main. That way the links are less likely to get broken.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed. Just a heads up, lychee will error out on this because it cannot access the page, even though the link is reachable. |
||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,9 +4,9 @@ Collector build and testing is currently fully automated. However there are stil | |
|
|
||
| We release both core and contrib collectors with the same versions where the contrib release uses the core release as a dependency. We’ve divided this process into three sections. Each section is assigned to an approver or maintainer of the corresponding repository. The sections are: | ||
|
|
||
| 1. The [Core](#releasing-opentelemetry-collector) collector, including the collector builder CLI tool. | ||
| 2. The [Contrib](#releasing-opentelemetry-collector-contrib) collector repository, containing Collector components. | ||
| 3. The [artifacts](#producing-the-artifacts) | ||
| 1. The [Core](#releasing-opentelemetry-collector-core-release-manager) collector, including the collector builder CLI tool. | ||
| 2. The [Contrib](#releasing-opentelemetry-collector-contrib-contrib-release-manager) collector repository, containing Collector components. | ||
| 3. The [artifacts](#producing-the-artifacts-releases-release-manager) | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. As above
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These headers were changed in the documentation previously but not updated, and the link discrepancies were picked up in the CI on this PR.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I've updated these links as suggested to point commit as well so that they don't break. |
||
|
|
||
| **Important Note:** You’ll need to be able to sign git commits/tags in order to be able to release a collector version. Follow [this guide](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits) to set it up. | ||
|
|
||
|
|
@@ -77,7 +77,6 @@ releases and add new schedules to the bottom of the list. To update the release | |
| 1. If the core release manager is also eligible as a contrib and 'releases' release manager, assign them to all roles they can perform. | ||
| 2. Otherwise, pick a contrib/'releases' approver/maintainer that is not a core approver/maintainer, rotating through the list of eligible people. The contrib approvers/maintainers are all members of the [@collector-contrib-approvers](https://github.com/orgs/open-telemetry/teams/collector-contrib-approvers) team, and the 'releases' approvers/maintainers are all members of the [@collector-releases-approvers](https://github.com/orgs/open-telemetry/teams/collector-releases-approvers) team. | ||
|
|
||
|
|
||
| ## Troubleshooting | ||
|
|
||
| 1. `unknown revision internal/coreinternal/v0.85.0` -- This is typically an indication that there's a dependency on a new module. You can fix it by adding a new `replaces` entry to the `go.mod` for the affected module. | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -221,7 +221,6 @@ traces: | |
| group_by(trace_id, 2m) | ||
| ``` | ||
|
|
||
|
|
||
| Update a spans ID | ||
|
|
||
| ``` | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.