-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
ecs_task_observer: initial structure #6121
ecs_task_observer: initial structure #6121
Conversation
8fe9974
to
8a0a78a
Compare
8a0a78a
to
37d32b1
Compare
@Aneurysm9 would be good someone from AWS to review/own(coown) 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.
This looks like a nice addition. @rakyll I know you've talked about ways to improve ECS task detection, does this align with the direction you'd expect?
Please add this new module to |
37d32b1
to
0dbd1cb
Compare
) | ||
require.NoError(t, err) | ||
require.NotNil(t, eto) | ||
asObservable, ok := eto.(observer.Observable) |
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 suggest using https://pkg.go.dev/github.com/stretchr/testify/assert#Implements to check if it implements the interface.
However, this feels like a redundant tests considering there is a compile time check
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 test is for the factory method which wouldn't enforce the returned helper type at compile time, though the extension itself does have an added implementation check that could make this redundant. Given the level of indirection I think it's a helpful assurance.
Updated to use the implementation helper.
cb3cec4
to
a5ec000
Compare
a5ec000
to
fac6f39
Compare
fac6f39
to
0ffc7c8
Compare
I believe this is ready to land, and the tests failures have been unrelated. |
@rmfitzpatrick please populate the commit message in future PRs (the PR description is typically great to use the commit message). I copy/pates this time before merging. |
These changes implement the new ECS task observer extension defined by open-telemetry#6121. They don't adopt it as an available component by the service though.
These changes implement the new ECS task observer extension defined by open-telemetry#6121. They don't adopt it as an available component by the service though.
These changes implement the new ECS task observer extension defined by open-telemetry#6121. They don't adopt it as an available component by the service though.
These changes implement the new ECS task observer extension defined by open-telemetry#6121. They don't adopt it as an available component by the service though.
These changes implement the new ECS task observer extension defined by open-telemetry#6121. They don't adopt it as an available component by the service though.
These changes implement the new ECS task observer extension defined by open-telemetry#6121. They don't adopt it as an available component by the service though.
These changes implement the new ECS task observer extension defined by open-telemetry#6121. They don't adopt it as an available component by the service though.
These changes implement the new ECS task observer extension defined by open-telemetry#6121. They don't adopt it as an available component by the service though.
These changes implement the new ECS task observer extension defined by open-telemetry#6121. They don't adopt it as an available component by the service though.
These changes implement the new ECS task observer extension defined by #6121. They don't adopt it as an available component by the service though.
These changes implement the new ECS task observer extension defined by open-telemetry#6121. They don't adopt it as an available component by the service though.
These changes implement the new ECS task observer extension defined by open-telemetry#6121. They don't adopt it as an available component by the service though.
These changes implement the new ECS task observer extension defined by open-telemetry#6121. They don't adopt it as an available component by the service though.
These changes implement the new ECS task observer extension defined by open-telemetry#6121. They don't adopt it as an available component by the service though.
Description:
Adding a feature - These changes introduce a new receiver creator-compatible watch observer for ECS tasks. It differs from the existing ECS observer in that it supports only sidecar deployments and doesn't have a hard dependency on the Prometheus receiver, instead being able to sync with a receiver creator instance by listing container endpoints. This approach was landed on after reviewing the existing and ECS observer config and implementation and from following the guidance of the initial observer's author: #5316 (comment). It does not resolve the outstanding item for #1395, as I think observer endpoint creation should be added to the existing observer as well but should be done in unrelated changes.
Link to tracking Issue:
#5316
Testing:
No tests as this time since the changes just include the initial types and readme.Basic factory test to help ensure receiver creator type compatibility.*Documentation:
Adding a readme with high level plan and config documentation generated by project configschema tool.
cc @alolita