Skip to content

Commit

Permalink
check for exporter pass
Browse files Browse the repository at this point in the history
  • Loading branch information
cnnradams committed Jul 27, 2020
1 parent bdb5225 commit bc5363b
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 4 deletions.
11 changes: 7 additions & 4 deletions ext/opentelemetry-ext-grpc/src/opentelemetry/ext/grpc/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,10 +86,13 @@ class OpenTelemetryClientInterceptor(
):
def __init__(self, tracer, exporter, interval):
self._tracer = tracer
self._meter = metrics.get_meter(__name__)
self.controller = PushController(
meter=self._meter, exporter=exporter, interval=interval
)

self._meter = None
if exporter:
self._meter = metrics.get_meter(__name__)
self.controller = PushController(
meter=self._meter, exporter=exporter, interval=interval
)
self._metrics_recorder = TimedMetricRecorder(self._meter, "client")

def _start_span(self, method):
Expand Down
28 changes: 28 additions & 0 deletions ext/opentelemetry-ext-grpc/tests/test_client_interceptor.py
Original file line number Diff line number Diff line change
Expand Up @@ -258,3 +258,31 @@ def test_error_stream_stream(self):
span.status.canonical_code.value,
grpc.StatusCode.INVALID_ARGUMENT.value[0],
)


class TestClienttNoMetrics(TestBase):
def setUp(self):
super().setUp()
GrpcInstrumentorClient().instrument()
self.server = create_test_server(25565)
self.server.start()
self.channel = grpc.insecure_channel("localhost:25565")
self._stub = test_server_pb2_grpc.GRPCTestServerStub(self.channel)

def tearDown(self):
super().tearDown()
GrpcInstrumentorClient().uninstrument()
self.memory_metrics_exporter.clear()
self.server.stop(None)

def test_unary_unary(self):
simple_method(self._stub)
spans = self.memory_exporter.get_finished_spans()
self.assertEqual(len(spans), 1)
span = spans[0]

self.assertEqual(span.name, "/GRPCTestServer/SimpleMethod")
self.assertIs(span.kind, trace.SpanKind.CLIENT)

# Check version and name in span's instrumentation info
self.check_span_instrumentation_info(span, opentelemetry.ext.grpc)

0 comments on commit bc5363b

Please sign in to comment.