open-telemetry / opentelemetry-dotnet

The OpenTelemetry .NET Client
https://opentelemetry.io
Apache License 2.0
3.23k stars 765 forks source link

[Do not Merge] [Otlp Exporter] Remove Google.Protobuf and Grpc.Net.Client dependency #5731

Closed vishweshbankwar closed 2 months ago

vishweshbankwar commented 4 months ago

Towards #5730 #5450

Changes

Note: This is a proof of concept PR to collect the initial feedback and is not intended to be merged. Smaller follow-up PRs will be done once the approach is finalized.

Merge requirement checklist

codecov[bot] commented 4 months ago

Codecov Report

Attention: Patch coverage is 76.60377% with 248 lines in your changes missing coverage. Please review.

Project coverage is 85.31%. Comparing base (6250307) to head (5e78598). Report is 298 commits behind head on main.

Files Patch % Lines
...entation/Custom/ExportClient/GrpcProtocolHelper.cs 57.01% 49 Missing :warning:
...rotocol/Implementation/Custom/Serializer/Writer.cs 54.71% 48 Missing :warning:
.../Implementation/Custom/Serializer/OtlpTagWriter.cs 0.00% 41 Missing :warning:
...TelemetryProtocol/OtlpExporterOptionsExtensions.cs 25.00% 36 Missing :warning:
...ation/Custom/Serializer/WireTypesSizeCalculator.cs 29.03% 22 Missing :warning:
...ol/Implementation/Custom/Transmission/OtlpRetry.cs 77.27% 15 Missing :warning:
...ementation/Custom/Serializer/ActivitySerializer.cs 94.53% 10 Missing :warning:
...tlpExporterPersistentStorageTransmissionHandler.cs 86.15% 9 Missing :warning:
...tation/Custom/ExportClient/OtlpGrpcExportClient.cs 86.53% 7 Missing :warning:
...om/Transmission/OtlpExporterTransmissionHandler.cs 88.23% 4 Missing :warning:
... and 4 more
Additional details and impacted files [![Impacted file tree graph](https://app.codecov.io/gh/open-telemetry/opentelemetry-dotnet/pull/5731/graphs/tree.svg?width=650&height=150&src=pr&token=vscyfvPfy5&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry)](https://app.codecov.io/gh/open-telemetry/opentelemetry-dotnet/pull/5731?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry) ```diff @@ Coverage Diff @@ ## main #5731 +/- ## ========================================== + Coverage 83.38% 85.31% +1.93% ========================================== Files 297 273 -24 Lines 12531 12103 -428 ========================================== - Hits 10449 10326 -123 + Misses 2082 1777 -305 ``` | [Flag](https://app.codecov.io/gh/open-telemetry/opentelemetry-dotnet/pull/5731/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry) | Coverage Δ | | |---|---|---| | [unittests](https://app.codecov.io/gh/open-telemetry/opentelemetry-dotnet/pull/5731/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry) | `?` | | | [unittests-Project-Experimental](https://app.codecov.io/gh/open-telemetry/opentelemetry-dotnet/pull/5731/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry) | `85.31% <76.60%> (?)` | | | [unittests-Project-Stable](https://app.codecov.io/gh/open-telemetry/opentelemetry-dotnet/pull/5731/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry) | `85.42% <76.60%> (?)` | | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#carryforward-flags-in-the-pull-request-comment) to find out more. | [Files](https://app.codecov.io/gh/open-telemetry/opentelemetry-dotnet/pull/5731?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry) | Coverage Δ | | |---|---|---| | [...tation/Custom/Serializer/ActivitySizeCalculator.cs](https://app.codecov.io/gh/open-telemetry/opentelemetry-dotnet/pull/5731?src=pr&el=tree&filepath=src%2FOpenTelemetry.Exporter.OpenTelemetryProtocol%2FImplementation%2FCustom%2FSerializer%2FActivitySizeCalculator.cs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-c3JjL09wZW5UZWxlbWV0cnkuRXhwb3J0ZXIuT3BlblRlbGVtZXRyeVByb3RvY29sL0ltcGxlbWVudGF0aW9uL0N1c3RvbS9TZXJpYWxpemVyL0FjdGl2aXR5U2l6ZUNhbGN1bGF0b3IuY3M=) | `100.00% <100.00%> (ø)` | | | [...ntation/Custom/Serializer/CommonTypesSerializer.cs](https://app.codecov.io/gh/open-telemetry/opentelemetry-dotnet/pull/5731?src=pr&el=tree&filepath=src%2FOpenTelemetry.Exporter.OpenTelemetryProtocol%2FImplementation%2FCustom%2FSerializer%2FCommonTypesSerializer.cs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-c3JjL09wZW5UZWxlbWV0cnkuRXhwb3J0ZXIuT3BlblRlbGVtZXRyeVByb3RvY29sL0ltcGxlbWVudGF0aW9uL0N1c3RvbS9TZXJpYWxpemVyL0NvbW1vblR5cGVzU2VyaWFsaXplci5jcw==) | `100.00% <100.00%> (ø)` | | | [.../Implementation/Custom/Transmission/RetryHelper.cs](https://app.codecov.io/gh/open-telemetry/opentelemetry-dotnet/pull/5731?src=pr&el=tree&filepath=src%2FOpenTelemetry.Exporter.OpenTelemetryProtocol%2FImplementation%2FCustom%2FTransmission%2FRetryHelper.cs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-c3JjL09wZW5UZWxlbWV0cnkuRXhwb3J0ZXIuT3BlblRlbGVtZXRyeVByb3RvY29sL0ltcGxlbWVudGF0aW9uL0N1c3RvbS9UcmFuc21pc3Npb24vUmV0cnlIZWxwZXIuY3M=) | `100.00% <100.00%> (ø)` | | | [...etryProtocol/Implementation/ExperimentalOptions.cs](https://app.codecov.io/gh/open-telemetry/opentelemetry-dotnet/pull/5731?src=pr&el=tree&filepath=src%2FOpenTelemetry.Exporter.OpenTelemetryProtocol%2FImplementation%2FExperimentalOptions.cs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-c3JjL09wZW5UZWxlbWV0cnkuRXhwb3J0ZXIuT3BlblRlbGVtZXRyeVByb3RvY29sL0ltcGxlbWVudGF0aW9uL0V4cGVyaW1lbnRhbE9wdGlvbnMuY3M=) | `90.90% <100.00%> (-9.10%)` | :arrow_down: | | [...metryProtocol/OtlpTraceExporterHelperExtensions.cs](https://app.codecov.io/gh/open-telemetry/opentelemetry-dotnet/pull/5731?src=pr&el=tree&filepath=src%2FOpenTelemetry.Exporter.OpenTelemetryProtocol%2FOtlpTraceExporterHelperExtensions.cs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-c3JjL09wZW5UZWxlbWV0cnkuRXhwb3J0ZXIuT3BlblRlbGVtZXRyeVByb3RvY29sL090bHBUcmFjZUV4cG9ydGVySGVscGVyRXh0ZW5zaW9ucy5jcw==) | `97.33% <100.00%> (+0.66%)` | :arrow_up: | | [...rter.OpenTelemetryProtocol/OtlpTraceExporterNew.cs](https://app.codecov.io/gh/open-telemetry/opentelemetry-dotnet/pull/5731?src=pr&el=tree&filepath=src%2FOpenTelemetry.Exporter.OpenTelemetryProtocol%2FOtlpTraceExporterNew.cs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-c3JjL09wZW5UZWxlbWV0cnkuRXhwb3J0ZXIuT3BlblRlbGVtZXRyeVByb3RvY29sL090bHBUcmFjZUV4cG9ydGVyTmV3LmNz) | `100.00% <100.00%> (ø)` | | | [...tion/Custom/ExportClient/TrailingHeadersHelpers.cs](https://app.codecov.io/gh/open-telemetry/opentelemetry-dotnet/pull/5731?src=pr&el=tree&filepath=src%2FOpenTelemetry.Exporter.OpenTelemetryProtocol%2FImplementation%2FCustom%2FExportClient%2FTrailingHeadersHelpers.cs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-c3JjL09wZW5UZWxlbWV0cnkuRXhwb3J0ZXIuT3BlblRlbGVtZXRyeVByb3RvY29sL0ltcGxlbWVudGF0aW9uL0N1c3RvbS9FeHBvcnRDbGllbnQvVHJhaWxpbmdIZWFkZXJzSGVscGVycy5jcw==) | `50.00% <50.00%> (ø)` | | | [...ion/Custom/Serializer/CommonTypesSizeCalculator.cs](https://app.codecov.io/gh/open-telemetry/opentelemetry-dotnet/pull/5731?src=pr&el=tree&filepath=src%2FOpenTelemetry.Exporter.OpenTelemetryProtocol%2FImplementation%2FCustom%2FSerializer%2FCommonTypesSizeCalculator.cs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-c3JjL09wZW5UZWxlbWV0cnkuRXhwb3J0ZXIuT3BlblRlbGVtZXRyeVByb3RvY29sL0ltcGxlbWVudGF0aW9uL0N1c3RvbS9TZXJpYWxpemVyL0NvbW1vblR5cGVzU2l6ZUNhbGN1bGF0b3IuY3M=) | `98.00% <98.00%> (ø)` | | | [...ansmission/OtlpExporterRetryTransmissionHandler.cs](https://app.codecov.io/gh/open-telemetry/opentelemetry-dotnet/pull/5731?src=pr&el=tree&filepath=src%2FOpenTelemetry.Exporter.OpenTelemetryProtocol%2FImplementation%2FCustom%2FTransmission%2FOtlpExporterRetryTransmissionHandler.cs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-c3JjL09wZW5UZWxlbWV0cnkuRXhwb3J0ZXIuT3BlblRlbGVtZXRyeVByb3RvY29sL0ltcGxlbWVudGF0aW9uL0N1c3RvbS9UcmFuc21pc3Npb24vT3RscEV4cG9ydGVyUmV0cnlUcmFuc21pc3Npb25IYW5kbGVyLmNz) | `80.00% <80.00%> (ø)` | | | [...tation/Custom/ExportClient/OtlpHttpExportClient.cs](https://app.codecov.io/gh/open-telemetry/opentelemetry-dotnet/pull/5731?src=pr&el=tree&filepath=src%2FOpenTelemetry.Exporter.OpenTelemetryProtocol%2FImplementation%2FCustom%2FExportClient%2FOtlpHttpExportClient.cs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-c3JjL09wZW5UZWxlbWV0cnkuRXhwb3J0ZXIuT3BlblRlbGVtZXRyeVByb3RvY29sL0ltcGxlbWVudGF0aW9uL0N1c3RvbS9FeHBvcnRDbGllbnQvT3RscEh0dHBFeHBvcnRDbGllbnQuY3M=) | `91.89% <91.89%> (ø)` | | | ... and [10 more](https://app.codecov.io/gh/open-telemetry/opentelemetry-dotnet/pull/5731?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry) | | ... and [226 files with indirect coverage changes](https://app.codecov.io/gh/open-telemetry/opentelemetry-dotnet/pull/5731/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry)
rajkumar-rangaraj commented 4 months ago

Directions look good to me. When you plan to create smaller PRs, consider adding detailed comments at the top of every method to help ease the review and later debugging process, as most of the methods perform calculations.

github-actions[bot] commented 4 months ago

This PR was marked stale due to lack of activity and will be closed in 7 days. Commenting or Pushing will instruct the bot to automatically remove the label. This bot runs once per day.

github-actions[bot] commented 3 months ago

Closed as inactive. Feel free to reopen if this PR is still being worked on.

github-actions[bot] commented 3 months ago

This PR was marked stale due to lack of activity and will be closed in 7 days. Commenting or Pushing will instruct the bot to automatically remove the label. This bot runs once per day.

github-actions[bot] commented 2 months ago

Closed as inactive. Feel free to reopen if this PR is still being worked on.