MCPcopy
hub / github.com/grpc/grpc-go / setTrailerMetadata

Method setTrailerMetadata

orca/call_metrics.go:91–108  ·  view source on GitHub ↗

setTrailerMetadata adds a trailer metadata entry with key being set to `internal.TrailerMetadataKey` and value being set to the binary-encoded orca.OrcaLoadReport protobuf message. This function is called from the unary and streaming interceptors defined above. Any errors encountered here are not p

(ctx context.Context)

Source from the content-addressed store, hash-verified

89// they are ignored there. Hence we simply log any errors encountered here at
90// warning level, and return nothing.
91func (rw *recorderWrapper) setTrailerMetadata(ctx context.Context) {
92 var sm *ServerMetrics
93 if rw.smp != nil {
94 sm = rw.smp.ServerMetrics()
95 sm.merge(rw.r.ServerMetrics())
96 } else {
97 sm = rw.r.ServerMetrics()
98 }
99
100 b, err := proto.Marshal(sm.toLoadReportProto())
101 if err != nil {
102 logger.Warningf("Failed to marshal load report: %v", err)
103 return
104 }
105 if err := grpc.SetTrailer(ctx, metadata.Pairs(internal.TrailerMetadataKey, string(b))); err != nil {
106 logger.Warningf("Failed to set trailer metadata: %v", err)
107 }
108}
109
110var joinServerOptions = grpcinternal.JoinServerOptions.(func(...grpc.ServerOption) grpc.ServerOption)
111

Callers 2

unaryIntFunction · 0.95
streamIntFunction · 0.95

Calls 7

mergeMethod · 0.95
toLoadReportProtoMethod · 0.95
SetTrailerFunction · 0.92
PairsFunction · 0.92
ServerMetricsMethod · 0.65
MarshalMethod · 0.65
WarningfMethod · 0.65

Tested by

no test coverage detected