opentelemetry-python-contrib
opentelemetry-python-contrib copied to clipboard
gRPC Instrumentation - Support of metrics, messages as span events, conformity to official grpc.ClientInterceptor and bug fixes
trafficstars
Description
Major Redesign of gRPC Instrumentation, including:
New Feature
- [X] Support of metrics (Client & Server) according to specification (#1042 )
- [X] Creation of span events for request and response messages (Client & Server) according to specification
- [X] Conformity of
OpenTelemetryClientInterceptor-interface to officialgrpc.ClientInterceptor-interface (#1583)
Bug Fixes
- [X] OpenTelemetryServicerContext supports
code()anddetails()(#855 ) (#1578) - [X] OpenTelemetryServicerContext supports correct status codes in case of
abort(),cancel(),set_code()/set_details(),raise Exception() - [X] OpenTelemetryClientInterceptor supports correct status codes in case of
abort(),cancel(),set_code()/set_details(),raise Exception() - [X] Response object of streaming-response-RPC on client-side implements interfaces of
grpc.Call,grpc.Future,grpc.RpcErrorandIterator - [X] Fix of (#1180)
Fixes # (issue)
Type of change
- [X] Bug fix (non-breaking change which fixes an issue)
- [X] New feature (non-breaking change which adds functionality)
- [X] This change requires a documentation update
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
- [X]
tox -e test-instrumentation-grpcruns adaptedinstrumentation/opentelemetry-instrumentation-grpc/tests/test_client_interceptor.pyandinstrumentation/opentelemetry-instrumentation-grpc/tests/test_server_interceptor.pywhich test metrics, creation of span events and conformity of interfaces on client-side
Does This PR Require a Core Repo Change?
- [ ] Yes. - Link to PR:
- [X] No.
Checklist:
See contributing.md for styleguide, changelog guidelines, and more.
- [X] Followed the style guidelines of this project
- [X] Changelogs have been updated
- [X] Unit tests have been added
- [X] Documentation has been updated