Timeseries Insights API C++ Client Library

This directory contains an idiomatic C++ client library for the Timeseries Insights API, with this API users can perform time series spike, trend, and anomaly detection. With a straightforward API and easy to understand results, the service makes it simple to gather insights from large amounts of time series data (e.g. monitoring datasets) and integrate these insights in their applications.

While this library is GA, please note that the Google Cloud C++ client libraries do not follow Semantic Versioning.


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

#include "google/cloud/timeseriesinsights/v1/timeseries_insights_controller_client.h"
#include "google/cloud/project.h"
#include <iostream>

int main(int argc, char* argv[]) try {
  if (argc != 2) {
    std::cerr << "Usage: " << argv[0] << " project-id\n";
    return 1;

  namespace timeseriesinsights = ::google::cloud::timeseriesinsights_v1;
  auto client = timeseriesinsights::TimeseriesInsightsControllerClient(

  auto const project = google::cloud::Project(argv[1]);
  for (auto r : client.ListDataSets(project.FullName())) {
    if (!r) throw std::move(r).status();
    std::cout << r->DebugString() << "\n";

  return 0;
} catch (google::cloud::Status const& status) {
  std::cerr << "google::cloud::Status thrown: " << status << "\n";
  return 1;

Main classes

The main class in this library is timeseriesinsights_v1::TimeseriesInsightsControllerClient. All RPCs are exposed as member functions of this class. Other classes provide helpers, configuration parameters, and infrastructure to mock timeseriesinsights_v1::TimeseriesInsightsControllerClient when testing your application.

More Information