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 otel instrumentation #9285

Merged
merged 20 commits into from
Sep 24, 2024
Merged

Update otel instrumentation #9285

merged 20 commits into from
Sep 24, 2024

Conversation

yashgorana
Copy link
Contributor

@yashgorana yashgorana commented Sep 12, 2024

Description

Instead of deploying it in the current cluster in a separate namespace, we can deploy to a separate cluster instead.

TODOs:

  • Plumbing syft otel endpoint to use this one.
  • Multi-cluster: Partition OTEL services by adding cluster name prefix
  • Log correlation with trace ids

Affected Dependencies

List any dependencies that are required for this change.

How has this been tested?

  • Describe the tests that you ran to verify your changes.
  • Provide instructions so we can reproduce.
  • List any relevant details for your test configuration.

Checklist

tox.ini Outdated Show resolved Hide resolved
@yashgorana
Copy link
Contributor Author

@rasswanth-s can you please review this.

Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@@ -353,9 +353,6 @@ def create_kubernetes_pool(
"CREATE_PRODUCER": "False",
"INMEMORY_WORKERS": "False",
"OTEL_SERVICE_NAME": f"{pool_name}",
"OTEL_PYTHON_LOG_CORRELATION": os.environ.get(
Copy link
Collaborator

Choose a reason for hiding this comment

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

Q: We are removing this, as currently the log co-relation is not working?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

because it configures logging.basicConfig but not uvicorn logger through the YAML file.

@@ -39,9 +44,6 @@ def set_default_attributes(cls, attributes: dict[str, str] | None = None) -> Non
cls.default_attributes[att] = attributes[att]


T = TypeVar("T", bound=Callable | type)


def instrument(
Copy link
Collaborator

Choose a reason for hiding this comment

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

While Testing I found that, we do not capture blob storage , as we upload them directly.
I think it would be good to enable otel at the ingress controller.

For now, we could enable at the internal traefik proxy level.
Traefik has native support: https://traefik.io/blog/monitor-your-production-at-a-glance-with-traefik-3-0-and-opentelemetry/

when we remove traefik as internal proxy, we could enable at ingress controller when we switch to nginx.

Copy link
Collaborator

@rasswanth-s rasswanth-s Sep 23, 2024

Choose a reason for hiding this comment

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

Enabling at ingress controller, would additionally give us full view of the traces .

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Locally, that's taken care of by signoz otel collector installed in the cluster default namespace.
On cloud, this is already taken care of by default.

Copy link
Contributor Author

@yashgorana yashgorana Sep 24, 2024

Choose a reason for hiding this comment

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

While Testing I found that, we do not capture blob storage , as we upload them directly.

isn't botocore instrumentation doing that for us?

Copy link
Collaborator

@rasswanth-s rasswanth-s left a comment

Choose a reason for hiding this comment

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

LGTM, left some comments

@yashgorana yashgorana changed the title [WIP] Separate Signoz cluster Update otel instrumentation Sep 24, 2024
@yashgorana yashgorana merged commit ce97a4a into dev Sep 24, 2024
39 of 40 checks passed
@yashgorana yashgorana deleted the yash/collector branch September 24, 2024 19:21
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