-
Notifications
You must be signed in to change notification settings - Fork 777
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for Xamarin.Android #3101
Comments
I will try to use the With the current Right now, all routes are blocked (gRPC service workaround due to neither being able to use old gRPC or using |
We have done a spike on trying open telemetry dotnet on xamarin.
|
Thanks for the info. That's a downer, seems that we need to stick with Jaeger then. |
Do we already know if this is supported by .NET MAUI or |
I'm not sure about that. But I guess it is the same result, because the runtime is essentially the same. |
I did some quick tests and it looks promising. Also found a blog post (https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-5/) that since .NET 6 Preview 5 the mentioned classes had been added. But we are still out of look for using OTEL since we are still stuck with If Line 45 in 09ef47d
GrpcChannelOptions and pass it to GrpcChannel.ForAddress , we would be able to pass it the new GrpcWebHandler(new HttpClientHandler()) necessary on Android.
I will also do some more tests to ensure, this is still necessary. |
OK, did some more tests with creating the server with I will close this, as we do not need |
The above are unresolved, right? |
|
Feature Request
When using
Xamarin.Android
withOpenTelemetry.Exporter.OpenTelemetryProtocol
, you are limited in whatGrpc.Net.Client
can do due to what's explained here: https://docs.microsoft.com/en-us/aspnet/core/grpc/supported-platforms?view=aspnetcore-6.0#net-grpc-client-requirementsGrpc.Core
on the other side still works fine with Android.What do you want to happen instead? What is the expected behavior?
OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj
can add anotherTargetFramework
formonoandroid80
which is compatible to allnetstandard2.0
dependencies (see https://dotnet.microsoft.com/en-us/platform/dotnet-standard). The projects SDK just needs to be changed fromMicrosoft.NET.Sdk
toMSBuild.Sdk.Extras/3.0.44
to be able to build the newcsproj
format for Android until .net7 is released later this year.Which alternative solutions or features have you considered?
I tried different options to use
netstandard2.0
instead without success. Due to NuGet resolving dependencies on a nearest-win strategy, it will always use thenetstandard2.1
route and therefore try to useGrpc.Net.Client
which does not work well on Android.Alternatively to allow using
Grpc.Net.Client.Web
we would need to be able to control theGrpcChannelOptions
which is currently not possible with this library.Additional Context
For now, I wanted to implement the workaround described here: https://docs.microsoft.com/en-us/aspnet/core/grpc/netstandard?view=aspnetcore-6.0 which if failing due to the inability to configure the
GrpcChannelOptions
.This would at least allow me do use the library as is, but will still include and use
Grpc.Net.Client
although my application is currently usingGrpc
already everywhere else.I know that
Grpc.Core
is close to the end of it's life, but there is currently no good support from Microsoft/Google onGrpc.Net.Client
for Android. There are some pending open issues, but it's mainly due to Android not being able to use HTTP/2 fully. So the Xamarin.Android (and also Xamarin.iOS) team has to do some more work. This is sadly also true for the upcomingnet7.0-android
stuff.The text was updated successfully, but these errors were encountered: