-
Notifications
You must be signed in to change notification settings - Fork 369
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
Open Telemetry Support (Cloud Monitoring / Cloud Trace) #8366
Comments
Assigning to Amanda for a more detailed answer, but the TL;DR is that we're aware that this is an area we could do a lot more in, and we'd definitely like to. We're busy with other work at the moment, but this is definitely on our backlog. I know that's not much of a consolation at the moment. I hope that when we eventually get to it, we'll be able to provide a nice solution that provides tracing with all the client libraries "for free" etc. |
Thanks, Jon. Also want to point that we would love to hear about any workarounds / alternative paths that we can use in the mean time. We've recently heard about the Open Telemetry Collector for example, but not sure this is a valid workaround for this. |
@mayoatte Will try to get this started/done on the second half of the year, but that's a soft commitent for now. Again I'm sorry this is not a good answer for you at this moment.
If the Google libraries that you are using for logging are the |
Thanks, Amanda. We will try setting the trace context manually. And look forward to your open telemetry efforts. |
Reassigning to @Rishabh-V as he's looking into this. |
I'd really like to be able to use the standard OpenTelemetry libraries not only for instrumenting my code, but also for the export format. I talk more about this desire here: open-telemetry/community#984 Basically, I would like to see a way to do OpenTelemetry without having to install a single google-specific package in my application. Instead, I should be able to configure the standard otel wire protocol exporter with a hostname that is "well known" on all google compute offerings (Cloud Run!). |
@atrauzzi What we do in this repo is Google specific client and instrumentation libraries :), so we are unlikely to be of any help here. I do see where you are coming from with this request, but my point is that it is better suited for Cloud Run, AppEngine Flex etc. Just to clarify, this issue covers one main aspect: How we are going to instrument the libraries we produce so that the telemetry they emit is OTEL compatible. The current plan is that we'll instrument using .NET standars like System.Diagnostics and Microsoft.Extensions.Logging, etc. This means that we are not inmediately concerned with what exports the telementry or how it is exported. Let me know if this does not fully adress your comment. |
hi @Rishabh-V @amanda-tarafa was just curious if there was any progress on getting opentelemetry working out of the box with Google cloud logging in C# |
@bgenidy We are looking into this still. Without making any hard commitments, we expect to have at least some basic support in the next couple of months. |
@amanda-tarafa -- Thanks for the followup! In terms of your response, yeah it makes sense -- although if I'm being pragmatic here, it's hard to say if it necessarily covers what myself (and likely many others) want. The issue is that if I use the standard otel library, I shouldn't need anything Google-specific in my .NET app as the work has already been accomplished by the otel project. You're just duplicating their efforts with the added tax of developers having to add a Google specific library to their applications. For the issue trackers, the main complaint is that they are very poor as a communication and advocacy tool between Google and its customers. Most things go there to die, which is not a great feeling for paying customers. The quality of dialogue with developers there is nothing compared to what people can get here ❤️ . So... Would I use a package that does some Google magic with the standard .NET abstraction in the interim? Yeah, I'd probably tinker with it. But this is a topic I sincerely believe your team might still be able to have a positive impact on by proactively advocating through internal channels (see my point on duplication of effort above)....and maybe you are already! But again, customers get such poor visibility into what's cooking inside Google Cloud, we're kind of forced into this starvation mentality. 😢 |
On a separate note, I'd love to hear more from @jsuereth on this who did put in a small remark on the other issue. Is this just a matter of getting people within the same roof aligned? |
@atrauzzi I'll try to break down in points what I understand from your last comment here and also from the discussion in open-telemetry/community#984 are your main sources of frustration. Then we can discuss each point individually.
Does this breakdown seem accurate to you? As I'll now try to identify your pain points on each of these. Note that I'm conscious that one of your pain points is that we don't seem to be working all together to make Google - OTEL integration seemless for users. We are very much working together, but when there are so many puzzle pieces is only natural that priorities and resources are not always necessarily alligned. By breaking these down I'm trying to pinpoint issues that we on the client libraries side can address inmediately, and issues were we need to work with the wider group. Pain points for you to clarify/confirm:
Let me know if I'm missunderstanding or missrepresenting your concerns. |
@amanda-tarafa - Thanks for the summary! I'll try to preserve the structure... 😄 Summary
Pain Points
Item 4 I think is a good summary. Thanks for sorting this all out with me! |
@atrauzzi thanks for that. Let me clarify a few points and I think we'll be fully understanding ourselfs. I think we can now merge summary and pain points:
There's one last thing I want to clarify. This issue is about OTEL support in .NET Google Cloud Client libraries; this issue is not about OTLP Google support and it is not about OTEL support by Google runtimes. Basically, this issue covers points 1 and 2 from the summary but it does not cover points 3 and 4. This is just because this is the .NET Google Cloud client libraries repo, and it's what we on the .NET Google Cloud client libraries team can address ourselves. For points 3 and 4 (if it were to become a pain point), the responsabilities are spread across a wider group of teams. I will try to get some shareable updates for point 3, but I can't guarantee I will. |
I have an update aound Google OTLP support. The expectation is that H2 2024 there should be OTLP support for trace and logs (not yet for metrics). But these are plans, there's not hard guarantees as plans may change at any time and without notice. |
Ah wonderful, that's great to hear! Is the idea there that I'll be able to simply point my applications OTLP output to some hostname visible to my Cloud Run app and Google will give me some awesome stuff to see? 😆 Also, regarding your previous response -- 100% I think we're all clarified up there. I also want to thank you for your assistance getting that update. 🙏 |
Yes, you'll configure your app through standard OTEL library to send telemetry to a Google URI, and then in Google Cloud Traces and Google Cloud Logging you'll see:
|
@amanda-tarafa Do you know of any examples of this approach on Github that I could use as a reference? |
@david-engelmann see this comment above:
So this is yet to be supported, so there are no examples. .NET Google Cloud libraries may be OTEL enabled sometime in the next couple of months, at that point will provide a couple of examples for configuring .NET libraries. For Google OTLP support examples you'll have to wait until at least H2 2024. |
Hi @amanda-tarafa, I've been working with a simple local .NET backend and an OTEL collector, and the .NET OpenTelemetry library here: https://github.com/open-telemetry/opentelemetry-dotnet/tree/main. I was able to get metrics and traces to show up in Cloud Monitoring/Trace, but have been unable to view logs in Cloud Logging. Is there any estimated time on when logging might work with GCP, or should it be working at this point and I'm doing something wrong? Thank you! EDIT: Was able to figure out logging too, was just an error in my OTEL collector config. |
@mdenend I'm sorry but the maintainers of this repo do not maintain the OTEL library you mention. We cannot speak to what works or not there, or when it will work. We also don't maintain any collectors. You might want to reach out to the maintainers of the library or the collector you are using. |
hey, we are in th H2, can we expect that feature in this year? |
@IRusio Yes maybe, H2 was always a soft commitment but it is still possible that we make it. We've made progress during the first half of the year, but we still have some way to go. Keep watching this issue for updates. |
Is your feature request related to a problem? Please describe.
We would like to use Open Telemetry on GCP but cannot do so easily due to various issues with open telemetry support for dotnet in Google libraries. This has in a tough spot.
Describe the solution you'd like
Please support open telemetry for the dotnet stack.
Additional context
Mixing and matching libraries has not been successful. Even if we use google libraries for logging and open source libraries for traces (exporting to cloud trace), the trace ids don't match up.
The text was updated successfully, but these errors were encountered: