Skip to content

fix: provide application for service trace dashboard - #1569

Open
dodjdnh wants to merge 1 commit into
apache:developfrom
dodjdnh:fix/service-trace-dashboard-variables
Open

dodjdnh wants to merge 1 commit into
apache:developfrom
dodjdnh:fix/service-trace-dashboard-variables

Conversation

@dodjdnh

@dodjdnh dodjdnh commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

Summary

Query provider metadata for the current service using its mesh, interface, version, and group, then resolve ProviderAppName. Generate the Service Trace dashboard URL with var-application=<ProviderAppName> and var-service=<Interface> only when the provider application is unique and reliable.

Return an error if metadata lookup fails, metadata is absent, the application is missing, or multiple distinct applications are found. Multiple metadata entries with the same application are deduplicated. The fix does not arbitrarily select the first provider or rely on Grafana's saved default. Service Metric URL construction is unchanged, and Go regression tests cover the behavior.

Changed files:

  • pkg/console/service/observability.go
  • pkg/console/handler/observability.go
  • pkg/console/service/observability_test.go

Branch: fix/service-trace-dashboard-variables. Commit: fdc0179af46efae89711af2dfe8186e461d41e5d (fix: provide application for service trace dashboard).

Related issues

Fixes #1568

Related to #1524

Verification

go test ./pkg/console/service ./pkg/console/handler: PASS.

Real end-to-end check Result
Application Trace PASS
Service Trace PASS
Application Metric PASS
Instance Metric PASS
Service Metric PASS

For Service Trace, the variables generated by Dubbo Admin were used in a live Grafana/Jaeger query that returned the newly generated trace. Instance Metric retains its existing IP:QoSPort semantics. Instance Trace has a separate known issue and is not changed by this PR.

The external end-to-end verifier sends a real /login request and finds its UserService/login trace in Jaeger. It then calls Dubbo Admin's Trace dashboard API, reads the actual URL and live Grafana dashboard query template, and executes the Grafana Jaeger query using Admin's variables. It reports PASS only if the query returns the same new trace ID.

Impact

  • Docs
  • Installation
  • User Experience
  • Dubboctl
  • Console
  • Core Component

@sonarqubecloud

Copy link
Copy Markdown

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.

[Bug] Service Trace dashboard may query the wrong application

1 participant