Skip to content

A118: TLS Telemetry#550

Merged
ejona86 merged 21 commits into
grpc:masterfrom
gtcooke94:authn_telemetry
Jun 16, 2026
Merged

A118: TLS Telemetry#550
ejona86 merged 21 commits into
grpc:masterfrom
gtcooke94:authn_telemetry

Conversation

@gtcooke94

@gtcooke94 gtcooke94 commented May 18, 2026

Copy link
Copy Markdown
Contributor

The gRFC to support authentication telemetry in the TLS stack for handshake and TLS offload operation monitoring.

@gtcooke94 gtcooke94 changed the title [A118] Authentication Telemetry [A118] TLS Telemetry May 20, 2026
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md
@gtcooke94 gtcooke94 changed the title [A118] TLS Telemetry A118: TLS Telemetry May 22, 2026

@ejona86 ejona86 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This looks good. I'll delay giving my Approval until others have, and then I'll Approve+merge when it seems there's concensus.

Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated

@markdroth markdroth left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This looks good overall! My comments are all relatively minor.

Please let me know if you have any questions.

Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated

@dfawley dfawley left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Did we want to find someone from otel to review the propsed metrics before we implement this? I don't think any of us are experts in this area.

Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md
Comment on lines +87 to +88
understanding authentication behavior. An enum describing the type of resumption
used (or none) will be created - it can be extended in the future to make

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This says "or none" but there is no corresponding NONE enum value below?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

FULL_HANDSHAKE means no resumption was done - should we rename to NO_RESUMPTION?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't feel too strongly about the names, but it might want a comment. But what exactly does "RESUMED_HANDSHAKE" actually mean, relative to the other future things you suggested could be added in the future like "ticket-based resumption vs. session-based resumption"? Is "RESUMED_HANDSHAKE" actually "SESSION_RESUMPTION"?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

RESUMED_HANDSHAKE means that it was resumed, with no specificity on session or ticket

Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md
if transportCreds != nil {
+ isTLS := transportCreds.Info().SecurityProtocol == "tls"
conn, authInfo, err = transportCreds.ClientHandshake(connectCtx, addr.ServerName, conn)
+ if isTLS {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Other thought: do we want to read the authInfo returned by the handshake to determine whether TLS was involved (I guess cast it to TLSInfo?) or trust the creds string directly? I don't know that it matters at all, but it's something to ponder, perhaps.

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.

FYI: Both the tls creds and xds creds today set this field to "tls". Similarly, both of them set AuthInfo to TLSInfo. Maybe the idea was always to include xds creds as well, in which case we are good.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Either way - I don't see a reason using XDS creds should preclude folks from monitoring - if it's doing TLS and we have TLS monitoring, the user can get monitoring?

As for how we want to see if it's TLS - can we discuss on the implementation PR since it's more of an impl detail? This is meant more as a demonstrative snippet, not a code source of truth.

@dfawley
dfawley requested a review from mbissa June 5, 2026 17:44
@ejona86
ejona86 requested a review from mbissa June 5, 2026 17:44
@ejona86

ejona86 commented Jun 5, 2026

Copy link
Copy Markdown
Member

@mbissa, can you look at this from the metrics definition perspective (did we define everything we needed to define)?

Comment thread A118-tls-telemetry.md
Comment thread A118-tls-telemetry.md

@markdroth markdroth left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This looks good, modulo updating the C++ implementation details.

Comment thread A118-tls-telemetry.md Outdated
Comment thread A118-tls-telemetry.md Outdated
@@ -185,7 +185,7 @@ In the few use-cases where TSI is not called via gRPC, we will ensure that
metric incrementation is not performed.

// TODO: Update this comment to be more accurate based on the impl PR

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Please remove this line.

@ejona86
ejona86 merged commit 9ff902a into grpc:master Jun 16, 2026
1 check passed
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.

6 participants