-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Make service.instance.id and other telemetry attributes available to extensions #6599
Comments
Why do you need to know only the |
That's a good point. I was thinking that the extension will get the service name from the BuildInfo (we set service.name to BuildInfo.Command), but this is not the right way, since we now allow it to be overriden. So you are right, it is best that we make all telemetry attributes available to extensions. Updated the description to make this clear. |
Who provides the configuration? Is not the "OpAMP"? If that is the case you have access to them... Also, they are in the config under |
No, "opamp" extension does not provide configuration.
They are not in the config if the user does not specify them. In that case the Collector generates the id and sets the service name equal to BuildInfo.Command. The "opamp" extension needs access to both of these values. To make it clear: this feature request is for the situation when there is no Supervisor. You only enable "opamp" extension and it implements a small subset of OpAMP capabilities, mostly status and config reporting. See design doc https://docs.google.com/document/d/1KtH5atZQUs9Achbce6LiOaJxLbksNJenvgvyKLsJrkc/edit When we have the Supervisor this feature is not necessary. |
I was looking for a way to access these attributes for a different reason (specifically in the processor component). @tigrannajaryan I would like to help with this. Since the |
Sounds reasonable to me, but @open-telemetry/collector-maintainers may have other thoughts on what is a good way to address this issue. |
@bogdandrutu do you have any thoughts on this? |
@bogdandrutu @codeboten I'd like your input on how we can approach this. In regards to what attributes we make available, I think it would likely make the most sense to provide all resource attributes to extensions. While the OpAMP extension only needs the service attributes, I think other extensions may be able to make use of other resource attributes. If we don't want to provide all resource attributes, I think we should specify the scope of attributes we are willing to provide to extensions. We can get the attributes in the service from the SDK As for providing this data to extensions, I think passing it under the |
Following up on this, there was a discussion about this issue at a SIG call in February where I believe we agreed that the right way to move this forward was to make all resource attributes of the collector available. Making them available as part of |
I'm planning on taking this one, could someone assign to me? |
Adds the ability for create settings to access instantiated resource attributes Link to tracking Issue: #6599
Did #7531 fix this issue completely, or is there any remaining work to do here? |
I haven't verified #7531 but from the description it seems like it should do all that is needed. |
Alright, seems that way to me as well, closing this then :) |
See [design document](https://docs.google.com/document/d/1KtH5atZQUs9Achbce6LiOaJxLbksNJenvgvyKLsJrkc/edit#heading=h.ioikt02qpy5f). Depends on: - [Implement ability for extensions to be notified about effective configuration opentelemetry-collector#6596](open-telemetry/opentelemetry-collector#6596) - [Make service.instance.id and other telemetry attributes available to extensions opentelemetry-collector#6599](open-telemetry/opentelemetry-collector#6599) Closes #16618 --------- Signed-off-by: Sean Porter <portertech@gmail.com> Co-authored-by: Daniel Jaglowski <jaglows3@gmail.com> Co-authored-by: Tigran Najaryan <4194920+tigrannajaryan@users.noreply.github.com>
See [design document](https://docs.google.com/document/d/1KtH5atZQUs9Achbce6LiOaJxLbksNJenvgvyKLsJrkc/edit#heading=h.ioikt02qpy5f). Depends on: - [Implement ability for extensions to be notified about effective configuration opentelemetry-collector#6596](open-telemetry/opentelemetry-collector#6596) - [Make service.instance.id and other telemetry attributes available to extensions opentelemetry-collector#6599](open-telemetry/opentelemetry-collector#6599) Closes open-telemetry#16618 --------- Signed-off-by: Sean Porter <portertech@gmail.com> Co-authored-by: Daniel Jaglowski <jaglows3@gmail.com> Co-authored-by: Tigran Najaryan <4194920+tigrannajaryan@users.noreply.github.com>
See [design document](https://docs.google.com/document/d/1KtH5atZQUs9Achbce6LiOaJxLbksNJenvgvyKLsJrkc/edit#heading=h.ioikt02qpy5f). Depends on: - [Implement ability for extensions to be notified about effective configuration opentelemetry-collector#6596](open-telemetry/opentelemetry-collector#6596) - [Make service.instance.id and other telemetry attributes available to extensions opentelemetry-collector#6599](open-telemetry/opentelemetry-collector#6599) Closes open-telemetry#16618 --------- Signed-off-by: Sean Porter <portertech@gmail.com> Co-authored-by: Daniel Jaglowski <jaglows3@gmail.com> Co-authored-by: Tigran Najaryan <4194920+tigrannajaryan@users.noreply.github.com>
See [design document](https://docs.google.com/document/d/1KtH5atZQUs9Achbce6LiOaJxLbksNJenvgvyKLsJrkc/edit#heading=h.ioikt02qpy5f). Depends on: - [Implement ability for extensions to be notified about effective configuration opentelemetry-collector#6596](open-telemetry/opentelemetry-collector#6596) - [Make service.instance.id and other telemetry attributes available to extensions opentelemetry-collector#6599](open-telemetry/opentelemetry-collector#6599) Closes open-telemetry#16618 --------- Signed-off-by: Sean Porter <portertech@gmail.com> Co-authored-by: Daniel Jaglowski <jaglows3@gmail.com> Co-authored-by: Tigran Najaryan <4194920+tigrannajaryan@users.noreply.github.com>
OpAMP extension will need to know the generated service.instance.id and other telemetry attributes to use it in the communication with the OpAMP Server.
This can be implemented by making it available on the component.Host interface or by adding a field to xCreateSettings.
For reference the OpAMP spec requires that in OpAMP protocol the following is set:
The text was updated successfully, but these errors were encountered: