-
Notifications
You must be signed in to change notification settings - Fork 2.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
Improve telemetry.Settings #6275
Conversation
Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #6275 +/- ##
==========================================
+ Coverage 96.41% 96.44% +0.03%
==========================================
Files 355 355
Lines 20152 20165 +13
==========================================
+ Hits 19430 19449 +19
+ Misses 532 528 -4
+ Partials 190 188 -2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
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.
just some nits / questions
LeveledMeterProvider: func(_ configtelemetry.Level) metric.MeterProvider { | ||
return noop.NewMeterProvider() |
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.
should this be replaced with a meter provider? or do we not need to pass anything here because its noop?
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 added noop to L100, but afaik we don't have a way to go from internal metrics.Factory to OTEL API. We would need to extend the Service (cmd/internal/flags) to initialize OTEL SDK. Main reason I didn't push for that before is that OTEL SDK performance sucks compared to Prometheus SDK, since OTEL does not support bound instrument and we're using them everywhere.
assert.NotNil(t, telset.TracerProvider) | ||
assert.NotNil(t, telset.ReportStatus) | ||
assert.NotNil(t, telset.Host) | ||
telset.ReportStatus(componentstatus.NewFatalErrorEvent(errors.New("foobar"))) |
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.
what do we need this for?
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.
you mean in this test or in general? In this test it's just to exercise the code in the lambda. In general, the idea is to allow internal components to report status. We had some of it with healthcheck object, but it's not very comprehensive today.
@@ -18,25 +18,30 @@ import ( | |||
"github.com/jaegertracing/jaeger/storage/spanstore" | |||
) | |||
|
|||
// Same as Factory, but without the Initialize method. | |||
// It was a design mistake originally to add Initialize to the Factory interface. | |||
type BaseFactory interface { |
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.
do we have a longer term plan to get rid of Factory
and replace it with 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.
I don't know if it's worth it for v1. We should make sure v2 API is not repeating the same mistake.
Signed-off-by: Yuri Shkuro <[email protected]>
Which problem is this PR solving?
Description of the changes
telemetry.Setting
totelemetry.Settings
NoopSettings()
andFromOtelComponent()
LeveledMeterProvider
which is deprecated in OTELtelset
in more placesInitialize()
fromstorage.Factory
How was this change tested?
Checklist
jaeger
:make lint test
jaeger-ui
:yarn lint
andyarn test