8000 Monitoring otel by infinitelos · Pull Request #1975 · ir-engine/ir-engine · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Monitoring otel #1975

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

Draft
wants to merge 8 commits into
base: dev
Choose a base branch
from
Draft

Monitoring otel #1975

wants to merge 8 commits into from

Conversation

infinitelos
Copy link
Contributor
@infinitelos infinitelos commented May 28, 2025

Summary

Add prometheus client endpoint

Subtasks Checklist

Breaking Changes

References

closes #insert number here

QA Steps

@@ -140,6 +141,30 @@ const ConnectionReactor = (props: { instanceID: InstanceID; topic: Topic }) => {
API.instance.service(instanceSignalingPath).get({ instanceID })
}, 5000)

// Track P2P metrics if the service is available (enabled via environment config)
const instance = getState(PeerToPeerNetworkState)[instanceID]
Copy link
Member

Choose a reason for hiding this comment

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

can we do this on the backend instead

/**
* Configure monitoring for the application
*/
export default (options = {}) => {
Copy link
Member

Choose a reason for hiding this comment

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

this isn't how the rest of the codebase handles exporting a group of services, instead we just export an array of the service factory functions

/**
* MetricsService class for handling Prometheus metrics
*/
export class MetricsService {
Copy link
Member

Choose a reason for hiding this comment

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

shouldn't this data go into the database such that we don't store data in memory? How does this work across multiple API servers?

/**
* TracingService class for handling OpenTelemetry tracing
*/
export class TracingService {
Copy link
Member

Choose a reason for hiding this comment

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

we prefer functions over classes, please make this a functional implementation if possible

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.

2 participants
0