Skip to content

Switch tracing service name to be ServingRevision rather than ServingPod in queue-proxy #12969

Open
@ajp-lsq

Description

@ajp-lsq

Describe the feature

Currently, queue-proxy uses the pod name as the service name in the traces it sends out. Link to line where this happens here:

oct := tracing.NewOpenCensusTracer(tracing.WithExporterFull(env.ServingPod, env.ServingPodIP, logger))

This is hard-coded and unchangeable. In a realistic APM scenario, this creates a proliferation of thousands of services in the APM UI which creates a lot of noise. It would be better to provide a more descriptive service name that reduces noise and provides a more useful list of knative services.

I see three options:

  1. Change the service name to be ServingRevision or ServingService, probably ServingRevision.
  2. Do number 1 but also make the value overrideable via label/env/config/etc so the kservice can dictate its own service name
  3. Use "queue-proxy" as the service name and let the user-container be the only one that outputs traces with the actual service name

Open to discussion on what people prefer.

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/featureWell-understood/specified features, ready for coding.lifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.triage/acceptedIssues which should be fixed (post-triage)

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions