Creare metriche definite dall'utente con OpenCensus

OpenCensus è un progetto open source gratuito le cui librerie:

  • Offri un supporto senza fornitori per la raccolta di dati di metriche e traccia in più lingue.
  • Può esportare i dati raccolti in varie applicazioni di backend, tra cui Cloud Monitoring, utilizzando esportatori.

Sebbene Cloud Monitoring fornisca un'API che supporta la definizione e la raccolta di metriche definite dall'utente, si tratta di un'API proprietaria di basso livello. OpenCensus fornisce un'API che segue lo stile della community linguistica, insieme a un esportatore che invia i dati delle tue metriche a Cloud Monitoring tramite l'API Monitoring.

OpenCensus offre inoltre un buon supporto per il tracciamento delle applicazioni; consulta OpenCensus Tracciamento per una panoramica generale. Cloud Trace consiglia di utilizzare OpenCensus per la strumentazione delle tracce. Per raccogliere dati di metriche e tracce dai servizi, puoi utilizzare un'unica distribuzione di librerie. Per informazioni sull'utilizzo di OpenCensus con Cloud Trace, consulta Librerie client per Trace.

Prima di iniziare

Per utilizzare Cloud Monitoring, devi avere un progetto Google Cloud con fatturazione abilitata. Se necessario:

  1. Nella console di Google Cloud Console, nella pagina del selettore dei progetti, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  2. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  3. Assicurati che l'API Monitoring sia abilitata. Per maggiori dettagli, consulta Abilitazione dell'API Monitoring.
  4. Per le applicazioni in esecuzione al di fuori di Google Cloud, il progetto Google Cloud deve autenticare l'applicazione. In genere, per configurare l'autenticazione devi creare un account di servizio per il progetto e configurare una variabile di ambiente.

    Per le applicazioni eseguite su un'istanza Amazon Elastic Compute Cloud (Amazon EC2), crea l'account di servizio per il progetto del connettore AWS dell'istanza.

    Per informazioni sulla creazione di un account di servizio, consulta la guida introduttiva all'autenticazione.

Installa OpenCensus

Per utilizzare le metriche raccolte da OpenCensus nel tuo progetto Google Cloud, devi rendere disponibili le librerie delle metriche OpenCensus e l'utilità di esportazione Stackdriver per la tua applicazione. L'utilità di esportazione Stackdriver esporta le metriche raccolte da OpenCensus nel tuo progetto Google Cloud. Puoi quindi utilizzare Cloud Monitoring per tracciare o monitorare queste metriche.

Go

Per eseguire l'autenticazione in Monitoring, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

L'utilizzo di OpenCensus richiede Go versione 1.11 o successiva. Le dipendenze vengono gestite automaticamente.

Java

Per eseguire l'autenticazione in Monitoring, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

Per Maven, aggiungi quanto segue all'elemento dependencies nel file pom.xml:
<dependency>
  <groupId>io.opencensus</groupId>
  <artifactId>opencensus-api</artifactId>
  <version>${opencensus.version}</version>
</dependency>
<dependency>
  <groupId>io.opencensus</groupId>
  <artifactId>opencensus-exporter-stats-stackdriver</artifactId>
  <version>${opencensus.version}</version>
</dependency>

Node.js

Per eseguire l'autenticazione in Monitoring, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

  1. Prima di installare le librerie OpenCensus core e degli esportatori, assicurati di aver preparato l'ambiente per lo sviluppo in Node.js.
  2. Il modo più semplice per installare OpenCensus è con npm:
    npm install @opencensus/core
    npm install @opencensus/exporter-stackdriver
  3. Inserisci le istruzioni require mostrate di seguito nella parte superiore dello script o del punto di ingresso principale dell'applicazione, prima di qualsiasi altro codice:
const {globalStats, MeasureUnit, AggregationType} = require('@opencensus/core');
const {StackdriverStatsExporter} = require('@opencensus/exporter-stackdriver');

Python

Per eseguire l'autenticazione in Monitoring, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

Installa il core OpenCensus e le librerie di esportazione di Stackdriver utilizzando il comando seguente:

pip install -r opencensus/requirements.txt

Il file requirements.txt si trova nel repository GitHub per questi esempi, python-docs-samples.

Scrivere metriche definite dall'utente con OpenCensus

La strumentazione del codice per l'utilizzo di OpenCensus per le metriche prevede tre passaggi:

  1. Importa le statistiche OpenCensus e i pacchetti di esportazione OpenCensus Stackdriver.
  2. Inizializza l'utilità di esportazione Stackdriver.
  3. Usa l'API OpenCensus per strumentare il tuo codice.

L'esempio seguente è un programma minimo che scrive dati delle metriche utilizzando OpenCensus. Il programma esegue un loop e raccoglie le misure di latenza e, al termine del loop, esporta le statistiche in Cloud Monitoring ed esce da:

Go

Per eseguire l'autenticazione in Monitoring, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.


// metrics_quickstart is an example of exporting a custom metric from
// OpenCensus to Stackdriver.
package main

import (
	"context"
	"fmt"
	"log"
	"time"

	"contrib.go.opencensus.io/exporter/stackdriver"
	"go.opencensus.io/stats"
	"go.opencensus.io/stats/view"
	"golang.org/x/exp/rand"
)

var (
	// The task latency in milliseconds.
	latencyMs = stats.Float64("task_latency", "The task latency in milliseconds", "ms")
)

func main() {
	ctx := context.Background()

	// Register the view. It is imperative that this step exists,
	// otherwise recorded metrics will be dropped and never exported.
	v := &view.View{
		Name:        "task_latency_distribution",
		Measure:     latencyMs,
		Description: "The distribution of the task latencies",

		// Latency in buckets:
		// [>=0ms, >=100ms, >=200ms, >=400ms, >=1s, >=2s, >=4s]
		Aggregation: view.Distribution(0, 100, 200, 400, 1000, 2000, 4000),
	}
	if err := view.Register(v); err != nil {
		log.Fatalf("Failed to register the view: %v", err)
	}

	// Enable OpenCensus exporters to export metrics
	// to Stackdriver Monitoring.
	// Exporters use Application Default Credentials to authenticate.
	// See https://developers.google.com/identity/protocols/application-default-credentials
	// for more details.
	exporter, err := stackdriver.NewExporter(stackdriver.Options{})
	if err != nil {
		log.Fatal(err)
	}
	// Flush must be called before main() exits to ensure metrics are recorded.
	defer exporter.Flush()

	if err := exporter.StartMetricsExporter(); err != nil {
		log.Fatalf("Error starting metric exporter: %v", err)
	}
	defer exporter.StopMetricsExporter()

	// Record 100 fake latency values between 0 and 5 seconds.
	for i := 0; i < 100; i++ {
		ms := float64(5*time.Second/time.Millisecond) * rand.Float64()
		fmt.Printf("Latency %d: %f\n", i, ms)
		stats.Record(ctx, latencyMs.M(ms))
		time.Sleep(1 * time.Second)
	}

	fmt.Println("Done recording metrics")
}

Java

Per eseguire l'autenticazione in Monitoring, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.


import com.google.common.collect.Lists;
import io.opencensus.exporter.stats.stackdriver.StackdriverStatsExporter;
import io.opencensus.stats.Aggregation;
import io.opencensus.stats.BucketBoundaries;
import io.opencensus.stats.Measure.MeasureLong;
import io.opencensus.stats.Stats;
import io.opencensus.stats.StatsRecorder;
import io.opencensus.stats.View;
import io.opencensus.stats.View.Name;
import io.opencensus.stats.ViewManager;
import java.io.IOException;
import java.util.Collections;
import java.util.Random;
import java.util.concurrent.TimeUnit;

public class Quickstart {
  private static final int EXPORT_INTERVAL = 70;
  private static final MeasureLong LATENCY_MS =
      MeasureLong.create("task_latency", "The task latency in milliseconds", "ms");
  // Latency in buckets:
  // [>=0ms, >=100ms, >=200ms, >=400ms, >=1s, >=2s, >=4s]
  private static final BucketBoundaries LATENCY_BOUNDARIES =
      BucketBoundaries.create(Lists.newArrayList(0d, 100d, 200d, 400d, 1000d, 2000d, 4000d));
  private static final StatsRecorder STATS_RECORDER = Stats.getStatsRecorder();

  public static void main(String[] args) throws IOException, InterruptedException {
    // Register the view. It is imperative that this step exists,
    // otherwise recorded metrics will be dropped and never exported.
    View view =
        View.create(
            Name.create("task_latency_distribution"),
            "The distribution of the task latencies.",
            LATENCY_MS,
            Aggregation.Distribution.create(LATENCY_BOUNDARIES),
            Collections.emptyList());

    ViewManager viewManager = Stats.getViewManager();
    viewManager.registerView(view);

    // Enable OpenCensus exporters to export metrics to Stackdriver Monitoring.
    // Exporters use Application Default Credentials to authenticate.
    // See https://developers.google.com/identity/protocols/application-default-credentials
    // for more details.
    StackdriverStatsExporter.createAndRegister();

    // Record 100 fake latency values between 0 and 5 seconds.
    Random rand = new Random();
    for (int i = 0; i < 100; i++) {
      long ms = (long) (TimeUnit.MILLISECONDS.convert(5, TimeUnit.SECONDS) * rand.nextDouble());
      System.out.println(String.format("Latency %d: %d", i, ms));
      STATS_RECORDER.newMeasureMap().put(LATENCY_MS, ms).record();
    }

    // The default export interval is 60 seconds. The thread with the StackdriverStatsExporter must
    // live for at least the interval past any metrics that must be collected, or some risk being
    // lost if they are recorded after the last export.

    System.out.println(
        String.format(
            "Sleeping %d seconds before shutdown to ensure all records are flushed.",
            EXPORT_INTERVAL));
    Thread.sleep(TimeUnit.MILLISECONDS.convert(EXPORT_INTERVAL, TimeUnit.SECONDS));
  }
}

Node.js

Per eseguire l'autenticazione in Monitoring, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

'use strict';

const {globalStats, MeasureUnit, AggregationType} = require('@opencensus/core');
const {StackdriverStatsExporter} = require('@opencensus/exporter-stackdriver');

const EXPORT_INTERVAL = process.env.EXPORT_INTERVAL || 60;
const LATENCY_MS = globalStats.createMeasureInt64(
  'task_latency',
  MeasureUnit.MS,
  'The task latency in milliseconds'
);

// Register the view. It is imperative that this step exists,
// otherwise recorded metrics will be dropped and never exported.
const view = globalStats.createView(
  'task_latency_distribution',
  LATENCY_MS,
  AggregationType.DISTRIBUTION,
  [],
  'The distribution of the task latencies.',
  // Latency in buckets:
  // [>=0ms, >=100ms, >=200ms, >=400ms, >=1s, >=2s, >=4s]
  [0, 100, 200, 400, 1000, 2000, 4000]
);

// Then finally register the views
globalStats.registerView(view);

// Enable OpenCensus exporters to export metrics to Stackdriver Monitoring.
// Exporters use Application Default Credentials (ADCs) to authenticate.
// See https://developers.google.com/identity/protocols/application-default-credentials
// for more details.
// Expects ADCs to be provided through the environment as ${GOOGLE_APPLICATION_CREDENTIALS}
// A Stackdriver workspace is required and provided through the environment as ${GOOGLE_PROJECT_ID}
const projectId = process.env.GOOGLE_PROJECT_ID;

// GOOGLE_APPLICATION_CREDENTIALS are expected by a dependency of this code
// Not this code itself. Checking for existence here but not retaining (as not needed)
if (!projectId || !process.env.GOOGLE_APPLICATION_CREDENTIALS) {
  throw Error('Unable to proceed without a Project ID');
}

// The minimum reporting period for Stackdriver is 1 minute.
const exporter = new StackdriverStatsExporter({
  projectId: projectId,
  period: EXPORT_INTERVAL * 1000,
});

// Pass the created exporter to Stats
globalStats.registerExporter(exporter);

// Record 100 fake latency values between 0 and 5 seconds.
for (let i = 0; i < 100; i++) {
  const ms = Math.floor(Math.random() * 5);
  console.log(`Latency ${i}: ${ms}`);
  globalStats.record([
    {
      measure: LATENCY_MS,
      value: ms,
    },
  ]);
}

/**
 * The default export interval is 60 seconds. The thread with the
 * StackdriverStatsExporter must live for at least the interval past any
 * metrics that must be collected, or some risk being lost if they are recorded
 * after the last export.
 */
setTimeout(() => {
  console.log('Done recording metrics.');
  globalStats.unregisterExporter(exporter);
}, EXPORT_INTERVAL * 1000);

Python

Per eseguire l'autenticazione in Monitoring, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.


from random import random
import time

from opencensus.ext.stackdriver import stats_exporter
from opencensus.stats import aggregation
from opencensus.stats import measure
from opencensus.stats import stats
from opencensus.stats import view

# A measure that represents task latency in ms.
LATENCY_MS = measure.MeasureFloat(
    "task_latency", "The task latency in milliseconds", "ms"
)

# A view of the task latency measure that aggregates measurements according to
# a histogram with predefined bucket boundaries. This aggregate is periodically
# exported to Stackdriver Monitoring.
LATENCY_VIEW = view.View(
    "task_latency_distribution",
    "The distribution of the task latencies",
    [],
    LATENCY_MS,
    # Latency in buckets: [>=0ms, >=100ms, >=200ms, >=400ms, >=1s, >=2s, >=4s]
    aggregation.DistributionAggregation([100.0, 200.0, 400.0, 1000.0, 2000.0, 4000.0]),
)

def main():
    # Register the view. Measurements are only aggregated and exported if
    # they're associated with a registered view.
    stats.stats.view_manager.register_view(LATENCY_VIEW)

    # Create the Stackdriver stats exporter and start exporting metrics in the
    # background, once every 60 seconds by default.
    exporter = stats_exporter.new_stats_exporter()
    print('Exporting stats to project "{}"'.format(exporter.options.project_id))

    # Register exporter to the view manager.
    stats.stats.view_manager.register_exporter(exporter)

    # Record 100 fake latency values between 0 and 5 seconds.
    for num in range(100):
        ms = random() * 5 * 1000

        mmap = stats.stats.stats_recorder.new_measurement_map()
        mmap.measure_float_put(LATENCY_MS, ms)
        mmap.record()

        print(f"Fake latency recorded ({num}: {ms})")

    # Keep the thread alive long enough for the exporter to export at least
    # once.
    time.sleep(65)

if __name__ == "__main__":
    main()
Quando i dati di queste metriche vengono esportati in Cloud Monitoring, puoi utilizzarli come qualsiasi altro dato.

Il programma crea una vista OpenCensus denominata task_latency_distribution. Questa stringa diventa parte del nome della metrica quando viene esportata in Cloud Monitoring. Consulta Recupero dei descrittori delle metriche per vedere come viene realizzata la vista OpenCensus come descrittore della metrica di Cloud Monitoring. Di conseguenza, puoi utilizzare il nome della vista come stringa di ricerca quando selezioni una metrica da rappresentare su un grafico.

Se hai eseguito il programma di esempio, puoi utilizzare Metrics Explorer per esaminare i dati:
  1. Nel pannello di navigazione della console Google Cloud, seleziona Monitoring e poi  Metrics Explorer:

    Vai a Metrics Explorer

  2. Nell'elemento Metrica, espandi il menu Seleziona una metrica, inserisci OpenCensus/task_latency_distribution nella barra dei filtri, quindi utilizza i sottomenu per selezionare un tipo di risorsa e una metrica specifici:
    1. Nel menu Risorse attive, seleziona la risorsa monitorata. Se esegui il programma in un ambiente locale, seleziona Globale.
    2. Nel menu Categorie di metriche attive, seleziona Personalizzata.
    3. Nel menu Metriche attive, seleziona Distribuzione latenza attività.
    4. Fai clic su Applica.

Il seguente screenshot mostra le serie temporali raccolte dopo l'esecuzione del programma in un ambiente locale:

Metriche di OpenCensus in Cloud Monitoring.

Ogni barra della mappa termica rappresenta un'esecuzione del programma e i componenti colorati di ogni barra rappresentano bucket nella distribuzione della latenza.

Lettura delle metriche OpenCensus in Cloud Monitoring

Puoi utilizzare metriche definite dall'utente, incluse le metriche scritte da OpenCensus, come le metriche integrate. Puoi creare grafici, impostare avvisi, leggere le email e monitorare in altro modo le attività.

Questa sezione illustra come utilizzare Explorer API per leggere i dati delle metriche. Per informazioni su come leggere i dati delle metriche utilizzando l'API Cloud Monitoring o l'utilizzo delle librerie client, consulta i seguenti documenti:

Ad esempio, lo screenshot mostrato nella sezione precedente è di Metrics Explorer. Quando usi gli strumenti di creazione dei grafici, ti consigliamo di usare il nome della vista OpenCensus per filtrare l'elenco delle metriche. Per maggiori informazioni, consulta Selezionare le metriche quando si utilizza Metrics Explorer.

Recuperare i descrittori delle metriche

Per recuperare i dati delle metriche utilizzando direttamente l'API Monitoring, devi conoscere i nomi di Cloud Monitoring in cui sono state esportate le metriche OpenCensus. Puoi determinare questi nomi recuperando i descrittori delle metriche creati dall'esportatore e osservando il campo type. Per maggiori dettagli sui descrittori delle metriche, consulta MetricDescriptor.

Per visualizzare i descrittori delle metriche creati per le metriche esportate:

  1. Vai alla pagina di riferimento di metricDescriptors.list.
  2. Nel widget Prova questa API nella pagina di riferimento, completa i seguenti campi:

    1. Inserisci il nome del progetto nel campo name. Utilizza la seguente struttura dei nomi projects/PROJECT_ID. Questo documento utilizza un progetto con ID a-gcp-project.

    2. Inserisci un filtro nel campo filter. Un progetto ha molti descrittori di metrica. Con i filtri puoi eliminare i descrittori che non ti interessano.

      Ad esempio, poiché il nome della vista OpenCensus diventa parte del nome della metrica, puoi aggiungere un filtro come il seguente:

      metric.type=has_substring("task_latency_distribution")

      La chiave metric.type è un campo di un tipo incorporato in una serie temporale. Per informazioni dettagliate, visita la pagina TimeSeries.

    3. Fai clic su Execute (Esegui).

Di seguito è riportato il descrittore della metrica restituito:

    {
      "metricDescriptors": [
        {
          "name": "projects/a-gcp-project/metricDescriptors/custom.googleapis.com/opencensus/task_latency_distribution",
          "labels": [
            {
              "key": "opencensus_task",
              "description": "Opencensus task identifier"
            }
          ],
          "metricKind": "CUMULATIVE",
          "valueType": "DISTRIBUTION",
          "unit": "ms",
          "description": "The distribution of the task latencies",
          "displayName": "OpenCensus/task_latency_distribution",
          "type": "custom.googleapis.com/opencensus/task_latency_distribution"
        }
      ]
    }

Questa riga nel descrittore della metrica indica il nome del tipo di metrica in Cloud Monitoring:

    "type": "custom.googleapis.com/opencensus/task_latency_distribution"

Ora disponi delle informazioni necessarie per recuperare manualmente i dati associati al tipo di metrica. Il valore del campo type viene mostrato anche nella console Google Cloud quando crei su grafico la metrica.

Recuperare i dati delle metriche

Per recuperare manualmente i dati delle serie temporali da un tipo di metrica:

  1. Vai alla pagina di riferimento di timeSeries.list.
  2. Nel widget Prova questa API nella pagina di riferimento, completa i seguenti campi:

    1. Inserisci il nome del progetto nel campo name. Utilizza la seguente struttura dei nomi projects/PROJECT_ID.
    2. Nel campo filter, inserisci il seguente valore:

      metric.type="custom.googleapis.com/opencensus/task_latency_distribution"

    3. Inserisci i valori nei campi interval.startTime e interval.endTime. Questi valori devono essere inseriti come timestamp, ad esempio 2018-10-11T15:48:38-04:00. Assicurati che il valore startTime sia precedente al valore di endTime.

    4. Fai clic sul pulsante Esegui.

Quanto segue mostra il risultato di uno di questi recupero:

    {
      "timeSeries": [
        {
          "metric": {
            "labels": {
              "opencensus_task": "java-3424@docbuild"
            },
            "type": "custom.googleapis.com/opencensus/task_latency_distribution"
          },
          "resource": {
            "type": "gce_instance",
            "labels": {
              "instance_id": "2455918024984027105",
              "zone": "us-east1-b",
              "project_id": "a-gcp-project"
            }
          },
          "metricKind": "CUMULATIVE",
          "valueType": "DISTRIBUTION",
          "points": [
            {
              "interval": {
                "startTime": "2019-04-04T17:49:34.163Z",
                "endTime": "2019-04-04T17:50:42.917Z"
              },
              "value": {
                "distributionValue": {
                  "count": "100",
                  "mean": 2610.11,
                  "sumOfSquaredDeviation": 206029821.78999996,
                  "bucketOptions": {
                    "explicitBuckets": {
                      "bounds": [
                        0,
                        100,
                        200,
                        400,
                        1000,
                        2000,
                        4000
                      ]
                    }
                  },
                  "bucketCounts": [
                    "0",
                    "0",
                    "1",
                    "6",
                    "13",
                    "15",
                    "44",
                    "21"
                  ]
                }
              }
            }
          ]
        },
        [ ... data from additional program runs deleted ...]
      ]
    }

I dati delle metriche restituiti includono:

  • Informazioni sulla risorsa monitorata su cui sono stati raccolti i dati. OpenCensus può rilevare automaticamente gce_instance, k8s_container e aws_ec2_instance risorse monitorate. Questi dati provengono da un programma eseguito su un'istanza Compute Engine. Per informazioni sull'utilizzo di altre risorse monitorate, consulta Configurare la risorsa monitorata per l'utilità di esportazione.
  • Descrizione del tipo di metrica e dei valori.
  • I punti dati effettivi raccolti nell'intervallo di tempo richiesto.

In che modo Monitoring rappresenta le metriche OpenCensus

È supportato l'utilizzo diretto dell'API Cloud Monitoring per le metriche definite dall'utente; il suo utilizzo è descritto in Creare metriche definite dall'utente con l'API. Infatti, l'utilità di esportazione OpenCensus per Cloud Monitoring utilizza questa API per te. Questa sezione fornisce alcune informazioni su come Cloud Monitoring rappresenta le metriche scritte da OpenCensus.

I costrutti utilizzati dall'API OpenCensus sono diversi da quelli utilizzati da Cloud Monitoring, così come l'uso della terminologia. Dove Cloud Monitoring fa riferimento a "metriche", OpenCensus a volte si riferisce alle "statistiche". Ad esempio, il componente di OpenCensus che invia i dati delle metriche a Cloud Monitoring è chiamato "esportatore di statistiche per Stackdrdiver".

Per una panoramica del modello OpenCensus per le metriche, consulta Metriche OpenCensus.

I modelli dei dati per le statistiche di OpenCensus e le metriche di Cloud Monitoring non rientrano in una mappatura 1:1 accurata. Molti degli stessi concetti sono presenti in ciascuno, ma non sono direttamente intercambiabili.

  • Una vista OpenCensus è analoga a MetricDescriptor nell'API Monitoring. Una vista descrive come raccogliere e aggregare le singole misurazioni. I tag sono inclusi in tutte le misurazioni registrate.

  • Un tag OpenCensus è una coppia chiave-valore. Generalmente, un tag OpenCensus corrisponde a LabelDescriptor nell'API Monitoring. I tag consentono di acquisire informazioni contestuali che puoi usare per filtrare e raggruppare le metriche.

  • Una misura OpenCensus descrive i dati delle metriche da registrare. Un'aggregazione OpenCensus è una funzione applicata ai dati utilizzati per riepilogarli. Queste funzioni vengono utilizzate durante l'esportazione per determinare MetricKind, ValueType e l'unità riportati nel descrittore della metrica di Cloud Monitoring.

  • Una misurazione OpenCensus è un punto dati raccolto. Le misurazioni devono essere aggregate in viste. In caso contrario, le singole misurazioni vengono eliminate. Una misurazione OpenCensus è analoga a una Point nell'API Monitoring. Quando le misurazioni vengono aggregate nelle viste, i dati aggregati vengono archiviati come dati delle visualizzazioni, in modo analogo a un TimeSeries nell'API Monitoring.

Passaggi successivi