Skip to content
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: 🦠 Metrics prototype: prepend edition #1129

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

kaylareopelle
Copy link
Contributor

@kaylareopelle kaylareopelle commented Aug 19, 2024

I'd love to get some feedback on this prototype for how we might add metrics to existing instrumentation. There's TODO comments with questions littered throughout the code, please chime in on them.

This prototype follows the pattern in the SDK of patching a class to include certain functionality if the right conditions are met. If the conditions aren't met, no-op methods are defined to glide past them.

In this case, the base gem will look for the presence of the opentelemetry-metrics-api in order to create a meter. The instrumentation checks for the :send_metrics configuration to be enabled. If it's enabled, metrics will be generated. If not, no-op empty methods will be called instead.

The method to add the metric and its attributes is reallly long right now. This is largely for documentation purposes to make it easier to see the currently emitted attributes and their stable equivalents. Once OTEL_SEMCONV_STABILITY_OPT_IN is enabled, this method can be simplified to only emit stable attributes, and, possibly, only emit metrics if the environment variable is set to http, the setting to emit stable attributes only.

Closes #1127

Emit http.server.request.duration metric if the application has the
metrics API installed and enables the feature via config
Otherwise it may round to zero
Like the Metrics ConfigurationPatch, include the MetricsPatch modules if
Metrics is enabled/present
@kaylareopelle kaylareopelle changed the title 🦠 Metrics prototype: Prepend edition WIP: 🦠 Metrics prototype: Prepend edition Sep 10, 2024
@kaylareopelle kaylareopelle changed the title WIP: 🦠 Metrics prototype: Prepend edition 🦠 Metrics prototype: Prepend edition Sep 10, 2024
@kaylareopelle kaylareopelle linked an issue Sep 20, 2024 that may be closed by this pull request
@kaylareopelle kaylareopelle changed the title 🦠 Metrics prototype: Prepend edition feat: 🦠 Metrics prototype: prepend edition Sep 20, 2024
@kaylareopelle kaylareopelle marked this pull request as ready for review September 20, 2024 16:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Determine the structure for Metrics instrumentation
1 participant