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

Eitanya/ai tracing #10427

Merged
merged 39 commits into from
Dec 10, 2024
Merged

Eitanya/ai tracing #10427

merged 39 commits into from
Dec 10, 2024

Conversation

EItanya
Copy link
Member

@EItanya EItanya commented Dec 2, 2024

Description

This PR introduces the API changes necessary to enable distributing tracing for the AI Gateway

API changes

  • Added tracing config to the GatewayParameteres AI subsection
  • Add settable service_name field to the open telemetry tracing config
  • Add the ability to set tracing tags from dynamic metadata
  • Add the ability to spawn a separate tracing span for each upstream request.

Code changes

  • Added deep merging for Tracing config in internal helm chart
  • Implemented tracing related API changes

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works

@EItanya EItanya marked this pull request as ready for review December 3, 2024 16:23
@EItanya EItanya requested a review from a team as a code owner December 3, 2024 16:23
@solo-changelog-bot
Copy link

Issues linked to changelog:
https://github.com/solo-io/solo-projects/issues/7295

Copy link

github-actions bot commented Dec 3, 2024

Visit the preview URL for this PR (updated for commit ab4938c):

https://gloo-edge--pr10427-eitanya-ai-tracing-c0k8srnf.web.app

(expires Mon, 16 Dec 2024 16:54:03 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 77c2b86e287749579b7ff9cadb81e099042ef677

@@ -117,6 +118,8 @@ func isResourceGateway(resource *gloov1.SourceMetadata_SourceRef) bool {
func gatewayKindsMap() map[string]bool {
return map[string]bool{
resources.Kind(new(gatewayv1.Gateway)): true,
// https://github.com/solo-io/gloo/blob/main/projects/gateway2/translator/listener/gateway_listener_translator.go#L492
wellknown.GatewayGroup + wellknown.GatewayKind: true,

Choose a reason for hiding this comment

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

no / between GatewayGroup and GatewayKind?

Copy link
Member Author

Choose a reason for hiding this comment

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

Whoops 😆

// Optional
// Create separate tracing span for each upstream request if true. And if this flag is set to true, the tracing provider will assume that Envoy
// will be independent hop in the trace chain and may set span type to client or server based on this flag.
bool spawn_upstream_span = 10;
Copy link

@andy-fong andy-fong Dec 4, 2024

Choose a reason for hiding this comment

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

There was something about T-mobile and their span name requirement on the request (not related to AI). I don't really know the detail but @ashishb-solo will you have some insight for span name if we are adding open tracing for AI?

Copy link
Member Author

Choose a reason for hiding this comment

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

This is unrelated, that's about the parent span, this is the span for the upstream call

@soloio-bulldozer soloio-bulldozer bot merged commit 92a2391 into main Dec 10, 2024
20 checks passed
@soloio-bulldozer soloio-bulldozer bot deleted the eitanya/ai-tracing branch December 10, 2024 15:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants