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

Update histograms code, move AO metrics exporter to main package #458

Merged
merged 2 commits into from
Oct 8, 2024

Conversation

raphael-theriault-swi
Copy link
Member

This histogram code is ported from ingestion, the exporter code is just copied from the existing one.

@raphael-theriault-swi raphael-theriault-swi requested a review from a team as a code owner October 7, 2024 22:15
Copy link
Contributor

@cheempz cheempz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now i see the very cool OTel-to-AO metrics export you mentioned! One concern is tags (cardinality) explosion for AO.

const scopeTags = this.#scopeTags(scopeMetric.scope)

for (const metric of scopeMetric.metrics) {
const name = `trace.node.${metric.descriptor.name}`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This means OTel-originated metrics that get exported via apm-proto to AO will all be prefixed with trace.node.* (similar to runtime metrics)?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep ! That's the standard they've been following

const [tags, tagCount] = this.#oboeTags({
...scopeTags,
...descriptorTags,
...dataPointTags,
Copy link
Contributor

@cheempz cheempz Oct 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this mean all the above are set as the AO metric tags? Not sure what's a typical number of OTel metrics attrs to expect, but out of paranoia would it be easy to cap the max number of tags to 50 (inspired by https://github.com/solarwinds-cloud/trace/blob/master/docs/specs/custom-metrics.md) just to not rock the AO boat too much.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point, I added an upper limit.

Copy link
Contributor

@cheempz cheempz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks @raphael-theriault-swi!

@raphael-theriault-swi raphael-theriault-swi merged commit 9709a74 into next Oct 8, 2024
4 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants