Skip to content

Commit 1a665ba

Browse files
adambl06adamisworking
authored andcommitted
Code related to the deprecated function StreamClientInterceptor removed
1 parent 2a6af7d commit 1a665ba

File tree

6 files changed

+2
-772
lines changed

6 files changed

+2
-772
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
4141
- The deprecated `SemVersion` function in `go.opentelemetry.io/contrib/samplers/probability/consistent` is removed, use `Version` instead. (#7072)
4242
- The deprecated `SemVersion` function is removed in `go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux`, use `Version` function instead. (#7084)
4343
- The deprecated `SemVersion` function is removed in `go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin`, use `Version` function instead. (#7085)
44+
- The deprecated `StreamClientInterceptor` function is removed in `go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/interceptor.go`. (#7105)
4445

4546
<!-- Released section -->
4647
<!-- Don't change this section unless doing release -->

instrumentation/google.golang.org/grpc/otelgrpc/benchmark_test.go

-8
Original file line numberDiff line numberDiff line change
@@ -93,11 +93,3 @@ func BenchmarkUnaryClientInterceptor(b *testing.B) {
9393
)),
9494
}, nil)
9595
}
96-
97-
func BenchmarkStreamClientInterceptor(b *testing.B) {
98-
benchmark(b, []grpc.DialOption{
99-
grpc.WithStreamInterceptor(otelgrpc.StreamClientInterceptor(
100-
otelgrpc.WithTracerProvider(tracerProvider),
101-
)),
102-
}, nil)
103-
}

instrumentation/google.golang.org/grpc/otelgrpc/interceptor.go

-151
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,12 @@ package otelgrpc // import "go.opentelemetry.io/contrib/instrumentation/google.g
77
// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/rpc.md
88
import (
99
"context"
10-
"errors"
11-
"io"
1210
"net"
1311
"strconv"
1412
"time"
1513

1614
"google.golang.org/grpc"
1715
grpc_codes "google.golang.org/grpc/codes"
18-
"google.golang.org/grpc/metadata"
1916
"google.golang.org/grpc/peer"
2017
"google.golang.org/grpc/status"
2118
"google.golang.org/protobuf/proto"
@@ -115,156 +112,8 @@ func UnaryClientInterceptor(opts ...Option) grpc.UnaryClientInterceptor {
115112
}
116113
}
117114

118-
// clientStream wraps around the embedded grpc.ClientStream, and intercepts the RecvMsg and
119-
// SendMsg method call.
120-
type clientStream struct {
121-
grpc.ClientStream
122-
desc *grpc.StreamDesc
123-
124-
span trace.Span
125-
126-
receivedEvent bool
127-
sentEvent bool
128-
129-
receivedMessageID int
130-
sentMessageID int
131-
}
132-
133115
var _ = proto.Marshal
134116

135-
func (w *clientStream) RecvMsg(m interface{}) error {
136-
err := w.ClientStream.RecvMsg(m)
137-
138-
if err == nil && !w.desc.ServerStreams {
139-
w.endSpan(nil)
140-
} else if errors.Is(err, io.EOF) {
141-
w.endSpan(nil)
142-
} else if err != nil {
143-
w.endSpan(err)
144-
} else {
145-
w.receivedMessageID++
146-
147-
if w.receivedEvent {
148-
messageReceived.Event(w.Context(), w.receivedMessageID, m)
149-
}
150-
}
151-
152-
return err
153-
}
154-
155-
func (w *clientStream) SendMsg(m interface{}) error {
156-
err := w.ClientStream.SendMsg(m)
157-
158-
w.sentMessageID++
159-
160-
if w.sentEvent {
161-
messageSent.Event(w.Context(), w.sentMessageID, m)
162-
}
163-
164-
if err != nil {
165-
w.endSpan(err)
166-
}
167-
168-
return err
169-
}
170-
171-
func (w *clientStream) Header() (metadata.MD, error) {
172-
md, err := w.ClientStream.Header()
173-
if err != nil {
174-
w.endSpan(err)
175-
}
176-
177-
return md, err
178-
}
179-
180-
func (w *clientStream) CloseSend() error {
181-
err := w.ClientStream.CloseSend()
182-
if err != nil {
183-
w.endSpan(err)
184-
}
185-
186-
return err
187-
}
188-
189-
func wrapClientStream(s grpc.ClientStream, desc *grpc.StreamDesc, span trace.Span, cfg *config) *clientStream {
190-
return &clientStream{
191-
ClientStream: s,
192-
span: span,
193-
desc: desc,
194-
receivedEvent: cfg.ReceivedEvent,
195-
sentEvent: cfg.SentEvent,
196-
}
197-
}
198-
199-
func (w *clientStream) endSpan(err error) {
200-
if err != nil {
201-
s, _ := status.FromError(err)
202-
w.span.SetStatus(codes.Error, s.Message())
203-
w.span.SetAttributes(statusCodeAttr(s.Code()))
204-
} else {
205-
w.span.SetAttributes(statusCodeAttr(grpc_codes.OK))
206-
}
207-
208-
w.span.End()
209-
}
210-
211-
// StreamClientInterceptor returns a grpc.StreamClientInterceptor suitable
212-
// for use in a grpc.NewClient call.
213-
//
214-
// Deprecated: Use [NewClientHandler] instead.
215-
func StreamClientInterceptor(opts ...Option) grpc.StreamClientInterceptor {
216-
cfg := newConfig(opts, "client")
217-
tracer := cfg.TracerProvider.Tracer(
218-
ScopeName,
219-
trace.WithInstrumentationVersion(Version()),
220-
)
221-
222-
return func(
223-
ctx context.Context,
224-
desc *grpc.StreamDesc,
225-
cc *grpc.ClientConn,
226-
method string,
227-
streamer grpc.Streamer,
228-
callOpts ...grpc.CallOption,
229-
) (grpc.ClientStream, error) {
230-
i := &InterceptorInfo{
231-
Method: method,
232-
Type: StreamClient,
233-
}
234-
if cfg.InterceptorFilter != nil && !cfg.InterceptorFilter(i) {
235-
return streamer(ctx, desc, cc, method, callOpts...)
236-
}
237-
238-
name, attr, _ := telemetryAttributes(method, cc.Target())
239-
240-
startOpts := append([]trace.SpanStartOption{
241-
trace.WithSpanKind(trace.SpanKindClient),
242-
trace.WithAttributes(attr...),
243-
},
244-
cfg.SpanStartOptions...,
245-
)
246-
247-
ctx, span := tracer.Start(
248-
ctx,
249-
name,
250-
startOpts...,
251-
)
252-
253-
ctx = inject(ctx, cfg.Propagators)
254-
255-
s, err := streamer(ctx, desc, cc, method, callOpts...)
256-
if err != nil {
257-
grpcStatus, _ := status.FromError(err)
258-
span.SetStatus(codes.Error, grpcStatus.Message())
259-
span.SetAttributes(statusCodeAttr(grpcStatus.Code()))
260-
span.End()
261-
return s, err
262-
}
263-
stream := wrapClientStream(s, desc, span, cfg)
264-
return stream, nil
265-
}
266-
}
267-
268117
// UnaryServerInterceptor returns a grpc.UnaryServerInterceptor suitable
269118
// for use in a grpc.NewServer call.
270119
//

instrumentation/google.golang.org/grpc/otelgrpc/test/go.mod

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ require (
99
go.opentelemetry.io/otel/sdk v1.35.0
1010
go.opentelemetry.io/otel/sdk/metric v1.35.0
1111
go.opentelemetry.io/otel/trace v1.35.0
12-
go.uber.org/goleak v1.3.0
1312
google.golang.org/grpc v1.71.1
1413
)
1514

0 commit comments

Comments
 (0)