Stay organized with collections
Save and categorize content based on your preferences.
When trace data isn't automatically captured, you need to instrument
your application to collect this data.
You can instrument your application so that it collects
application-specific information. Several open-source
instrumentation frameworks let you collect metrics, logs, and
traces from your application and send that data to any vendor,
including Google Cloud. To instrument your application, we recommend that you use a
vendor-neutral instrumentation framework that is open source, such as
OpenTelemetry, instead of
vendor- and product-specific APIs or client libraries.
For information about instrumenting your applications by using
vendor-neutral instrumentation frameworks, see
Instrumentation and observability.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-25 UTC."],[],[],null,["# Client libraries\n\n| **Note:** Trace data is automatically captured for some configurations and for some Google Cloud services, so you might not need to instrument your application. For more information, see [Configurations with automatic tracing](/trace/docs/overview#configurations_with_automatic_tracing).\n\nWhen trace data isn't automatically captured, you need to instrument\nyour application to collect this data.\n\n\nYou can instrument your application so that it collects\napplication-specific information. Several open-source\ninstrumentation frameworks let you collect metrics, logs, and\ntraces from your application and send that data to any vendor,\nincluding Google Cloud. To instrument your application, we recommend that you use a\nvendor-neutral instrumentation framework that is open source, such as\n[OpenTelemetry](https://opentelemetry.io/), instead of\nvendor- and product-specific APIs or client libraries.\n\nFor information about instrumenting your applications by using\nvendor-neutral instrumentation frameworks, see\n[Instrumentation and observability](/stackdriver/docs/instrumentation/overview).\n\nSet up information for the OpenTelemetry library:\n\n- [C++](/trace/docs/setup/cpp-ot)\n- [Go](/trace/docs/setup/go-ot)\n- [Java](/trace/docs/setup/java-ot)\n- [Node.js](/trace/docs/setup/nodejs-ot)\n- [Python](/trace/docs/setup/python-ot)\n\nInformation about the Cloud Client Libraries:\n\n- Ruby:\n\n | **Note:** We recommend that you use OpenTelemetry for Ruby. For more information, see the [Ruby SDK](https://opentelemetry.io/docs/instrumentation/ruby/).\n\n GitHub: [`googleapis/google-cloud-trace`](https://github.com/googleapis/google-cloud-ruby/tree/master/google-cloud-trace)\n- ASP.NET:\n\n - Library: [`Google.Cloud.Diagnostics.AspNet`](https://googleapis.dev/dotnet/Google.Cloud.Diagnostics.AspNet/latest/index.html)\n - NuGet package: [`Google.Cloud.Diagnostics.AspNet`](https://www.nuget.org/packages/Google.Cloud.Diagnostics.AspNet/)\n - GitHub: [`Google.Cloud.Diagnostics.AspNet version 4.0.0`](https://github.com/googleapis/google-cloud-dotnet/releases/tag/Google.Cloud.Diagnostics.AspNet-4.0.0)\n- ASP.NET Core:\n\n - Libraries: [`Google.Cloud.Diagnostics.AspNetCore3`](/dotnet/docs/reference/Google.Cloud.Diagnostics.AspNetCore3/latest) and [`Google.Cloud.Diagnostics.AspNetCore`](/dotnet/docs/reference/Google.Cloud.Diagnostics.AspNetCore/latest)\n - NuGet packages: [`Google.Cloud.Diagnostics.AspNetCore3`](https://www.nuget.org/packages/Google.Cloud.Diagnostics.AspNetCore3/) and [`Google.Cloud.Diagnostics.AspNetCore`](https://www.nuget.org/packages/Google.Cloud.Diagnostics.AspNetCore/)\n - GitHub: [`googleapis/google-cloud-dotnet`](https://github.com/googleapis/google-cloud-dotnet)"]]