-
Notifications
You must be signed in to change notification settings - Fork 207
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
CPython runtime garbage collections metrics #1931
base: main
Are you sure you want to change the base?
Conversation
cc @open-telemetry/python-approvers @open-telemetry/opentelemetry-python-contrib-approvers |
e52b14a
to
039cd81
Compare
… measures Props to: lmolkova
039cd81
to
f9c7a06
Compare
Drive-by from seeing this in the #otel-python channel on cncf slack. We recently implemented a metric like this, so I'd be quite happy to see this make its way into semconv / the python contrib repo. We also added spans for gen2 collections, which helped us understand some gaps in our slow traces, and figure out we could improve tail latencies by calling |
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.
LGTM!
Co-authored-by: Liudmila Molkova <[email protected]>
Co-authored-by: Liudmila Molkova <[email protected]>
Co-authored-by: Liudmila Molkova <[email protected]>
type: | ||
members: | ||
- id: gen0 | ||
value: 'gen0' | ||
brief: "Generation 0" | ||
stability: development | ||
- id: gen1 | ||
value: 'gen1' | ||
brief: "Generation 1" | ||
stability: development | ||
- id: gen2 | ||
value: 'gen2' | ||
brief: "Generation 2" | ||
stability: development |
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.
@xrmx one quick question: is there specific rationale behind the enum gen0
, gen1
, gen2
vs just an integer?
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.
No specific reason
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.
are gen0
, gen1
, gen2
common names for these generations in cpython? I didn't have much too luck in google: https://www.google.com/search?q=%22gen0%22+%22gen1%22+%22gen2%22+cpython
|
||
- id: metric.cpython.gc.collected.objects | ||
type: metric | ||
metric_name: cpython.gc.collected.objects |
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 think this fits the "adjective_noun" guidance, see #1755 (comment)
metric_name: cpython.gc.collected.objects | |
metric_name: cpython.gc.collected_objects |
- ref: cpython.gc.generation | ||
requirement_level: required | ||
|
||
- id: metric.cpython.gc.uncollectable.objects |
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.
- id: metric.cpython.gc.uncollectable.objects | |
- id: metric.cpython.gc.uncollectable_objects |
type: | ||
members: | ||
- id: gen0 | ||
value: 'gen0' | ||
brief: "Generation 0" | ||
stability: development | ||
- id: gen1 | ||
value: 'gen1' | ||
brief: "Generation 1" | ||
stability: development | ||
- id: gen2 | ||
value: 'gen2' | ||
brief: "Generation 2" | ||
stability: development |
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.
are gen0
, gen1
, gen2
common names for these generations in cpython? I didn't have much too luck in google: https://www.google.com/search?q=%22gen0%22+%22gen1%22+%22gen2%22+cpython
Fixes #1930
Changes
This adds 3 new metrics to track CPython runtime garbage collector work.
Note: if the PR is touching an area that is not listed in the existing areas, or the area does not have sufficient domain experts coverage, the PR might be tagged as experts needed and move slowly until experts are identified.
Merge requirement checklist
[chore]