/*!

@mainpage Cloud Profiler API C++ Client Library

An idiomatic C++ client library for the [Cloud Profiler API][cloud-service-docs],
a service that manages continuous CPU and heap profiling to improve performance
and reduce costs.

Note that this library allows you to interact with Cloud Profiler, but Cloud
Profiler does not yet offer profiling of C++ applications. The
[types of profiling available][profiling] are listed in the service
documentation.

[profiling]: https://cloud.google.com/profiler/docs/concepts-profiling#types_of_profiling_available

While this library is **GA**, please note Google Cloud C++ client libraries do **not** follow [Semantic Versioning](https://semver.org/).

@tableofcontents{HTML:2}

## Quickstart

The following shows the code that you'll run in the
`google/cloud/profiler/quickstart/` directory,
which should give you a taste of the Cloud Profiler API C++ client library API.

@snippet quickstart.cc all

## Main classes

<!-- inject-client-list-start -->
This library offers multiple `*Client` classes, which are listed below. Each one
of these classes exposes all the RPCs for a service as member functions of the
class. This library groups multiple services because they are part of the same
product or are often used together. A typical example may be the administrative
and data plane operations for a single product.

The library also has other classes that provide helpers, configuration
parameters, and infrastructure to mock the `*Client` classes when testing your
application.

- [\c profiler_v2::ExportServiceClient](@ref google::cloud::profiler_v2::ExportServiceClient)
- [\c profiler_v2::ProfilerServiceClient](@ref google::cloud::profiler_v2::ProfilerServiceClient)
<!-- inject-client-list-end -->

## More Information

- @ref common-error-handling - describes how the library reports errors.
- @ref profiler-override-endpoint - describes how to override the default
  endpoint.
- @ref profiler-override-authentication - describes how to change the
  authentication credentials used by the library.
- @ref profiler-override-retry - describes how to change the default retry
  policies.
- @ref profiler-env - describes environment variables that can configure the behavior of the library.
- @ref profiler-override-universe-domain - describes how to override the default universe domain.

[cloud-service-docs]: https://cloud.google.com/profiler

*/
