-
Notifications
You must be signed in to change notification settings - Fork 506
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
feat(instrumentation-runtime-node)!: add prom-client-metrics #2136
base: main
Are you sure you want to change the base?
feat(instrumentation-runtime-node)!: add prom-client-metrics #2136
Conversation
…arbage collector, heap size and heap space
|
* @default 5000 | ||
*/ | ||
eventLoopUtilizationMeasurementInterval?: number; | ||
monitoringPrecision?: number; |
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.
curious about this change, can you give more context why the rename?
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.
Because right now i use it for every metrics, not only for eventLoopUtilization. You think I needed to add parameters for every new metrics group ?
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 need
I am super excited for this one, I think it was the main thing missing from OpenTelemetry's Node.js instrumentation! Thanks for opening this PR. |
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.
Can you please take a look at open-telemetry/semantic-conventions#991 and give your input there? It looks like you made some different decisions than what was made there and I want to make sure we're all on the same page before merging something.
Thanks. Yes, i have some mismatches. |
@pikalovArtemN I would love to hear your opinion on the mismatches. Let me know what you think makes more sense 😄 |
I have mismatches in names like eventloop => event_loop, and i need to fix units, i totaly forgot to set it properly XD. And fix attributes. I decided to devide the metrics not by label, but names like it was in the prom-client library, but i think you do a better solution in the convension. I think we need to colobarate, not all of metrics and attributes that i added exists in convention such as:
|
I can add that
I can add that
I think it would be good, I got that from the prom-client metrics list, so should be possible
I can make those changes on the convention
I think it would be good, I also got that from prom-client, but it doesn't have |
heads up: because the semantic convention could be for all JS runtime (not just nodejs, but also others such as denojs or bunjs), it was suggested to not use |
Ok |
If it is about any js runtime the node.js specific parts should be removed/renamed/...
|
I don't understand what you mean here. For things that are node specific, we can still create the metrics for it, such as the active libuv requests, I just need remove that from the semantic convention, but this PR can still keep it because can be useful. |
There are JS engines (e.g. quickjs) which use a different heap structure/gc then google v8 (the JS engine used by node.js or deno). As a result I'm not sure if GC metrics should have v8 in the name to allow to distinguish them from other engines. |
I think right now we need to concentrate on nodejs realization only, because Node is most popular and in the next iteration adopt instrumentation to work with different engines. Right now it's so much work to do |
@ben-childs-docusign @dyladan any of you have any more comments on this? |
plugins/node/instrumentation-runtime-node/src/metrics/eventLoopDelayCollector.ts
Show resolved
Hide resolved
plugins/node/instrumentation-runtime-node/src/metrics/eventLoopDelayCollector.ts
Show resolved
Hide resolved
plugins/node/instrumentation-runtime-node/src/metrics/eventLoopUtilizationCollector.ts
Show resolved
Hide resolved
@pikalovArtemN could you resolve the conflict in this PR? I guess with this fix and if wee agreed on the support drop of node versions we can merge it :) |
fix conflicts |
plugins/node/instrumentation-runtime-node/src/metrics/eventLoopUtilizationCollector.ts
Outdated
Show resolved
Hide resolved
build failures are related mainly to my last comment but these two errors also appears when
@pikalovArtemN do you experience the same issue in you env? |
…tion' into feat/node/prom-client-implementation
yes, reproduce and fix |
compilation error in
but latest changes do not affect the dependencies |
redis dependencies "dependencies": {
"@redis/bloom": "1.0.2",
"@redis/client": "1.1.0",
"@redis/graph": "1.0.1",
"@redis/json": "1.0.3",
"@redis/search": "1.0.6",
"@redis/time-series": "1.0.3"
}, are not installed after running |
now I've noticed the Please get the latest version of |
…tion' into feat/node/prom-client-implementation
Which problem is this PR solving?
Short description of the changes