/*!

@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 -->
The main class in this library is
[`profiler_v2::ProfilerServiceClient`](@ref google::cloud::profiler_v2::ProfilerServiceClient). All RPCs are exposed
as member functions of this class. Other classes provide helpers, configuration
parameters, and infrastructure to mock
[`profiler_v2::ProfilerServiceClient`](@ref google::cloud::profiler_v2::ProfilerServiceClient) when testing your
application.
<!-- 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.

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

*/
