opentelemetry-python-contrib icon indicating copy to clipboard operation
opentelemetry-python-contrib copied to clipboard

gRPC Instrumentation - Support of metrics, messages as span events, conformity to official grpc.ClientInterceptor and bug fixes

Open CoLa5 opened this issue 3 years ago • 6 comments
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 official grpc.ClientInterceptor-interface (#1583)

Bug Fixes

  • [X] OpenTelemetryServicerContext supports code()and details() (#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.RpcError and Iterator
  • [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-grpc runs adapted instrumentation/opentelemetry-instrumentation-grpc/tests/test_client_interceptor.py and instrumentation/opentelemetry-instrumentation-grpc/tests/test_server_interceptor.py which 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

CoLa5 avatar Aug 14 '22 12:08 CoLa5