Skip to content

HDDS-15781. Adding Spankind information to ozone sh commands#10695

Open
sravani-revuri wants to merge 4 commits into
apache:masterfrom
sravani-revuri:HDDS-15781
Open

HDDS-15781. Adding Spankind information to ozone sh commands#10695
sravani-revuri wants to merge 4 commits into
apache:masterfrom
sravani-revuri:HDDS-15781

Conversation

@sravani-revuri

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

Adding spankind information for all traces as a part of ozone sh commands. The are given the information of:

  1. Client: Represents outgoing call
  2. Server: Represents a incoming remote call
  3. Internal: Represents operations that do not cross a process boundary

What is the link to the Apache JIRA

https://issues.apache.org/jira/browse/HDDS-15781

How was this patch tested?

Manual test of all ozone sh commands.

Few outputs:

volume create:

image

key put command:

image

@sravani-revuri

Copy link
Copy Markdown
Contributor Author

@sumitagrawl , could you please review these changes.

@sravani-revuri sravani-revuri marked this pull request as ready for review July 9, 2026 07:07

@chihsuan chihsuan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks @sravani-revuri, this looks good.

Left a couple of small inline notes. As a non-committer these are just suggestions. Sill need to wait a committer to review and approve before merge. Thanks for the clear screenshots too. 🙂

@sravani-revuri sravani-revuri requested a review from chihsuan July 10, 2026 15:14

try (TracingUtil.TraceCloseable ignored = TracingUtil.createActivatedSpan(name + "." + method.getName())) {
// close() is local cleanup in the shell process, not an outbound RPC to OM/SCM/DN , so it stays INTERNAL.
SpanKind spanKind = "close".equals(method.getName())

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for adding the comment. @sravani-revuri Just thinking a bit more on this, is close the only local method here?

It looks like getS3CredentialsProvider() just returns a ThreadLocal with no RPC, yet it'd still read as CLIENT. Should we avoid inferring the span kind from the method name here? Would a method-level override/annotation for local operations be more robust while keeping remote protocol methods CLIENT by default? curious what you think.

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