@google-cloud/spanner
Version:
Cloud Spanner Client Library for Node.js
37 lines (36 loc) • 1.57 kB
TypeScript
import { PushMetricExporter, ResourceMetrics } from '@opentelemetry/sdk-metrics';
import { ExportResult } from '@opentelemetry/core';
import { ExporterOptions } from './external-types';
export declare const MAX_BATCH_EXPORT_SIZE = 200;
/**
* Format and sends metrics information to Google Cloud Monitoring.
*/
export declare class CloudMonitoringMetricsExporter implements PushMetricExporter {
private _projectId;
private _lastExported;
private readonly _client;
private _metricsExportFailureLogged;
constructor({ auth }: ExporterOptions, projectId: string);
/**
* Implementation for {@link PushMetricExporter.export}.
* Calls the async wrapper method {@link _exportAsync} and
* assures no rejected promises bubble up to the caller.
*
* @param metrics Metrics to be sent to the Google Cloud 3Monitoring backend
* @param resultCallback result callback to be called on finish
*/
export(metrics: ResourceMetrics, resultCallback: (result: ExportResult) => void): void;
shutdown(): Promise<void>;
forceFlush(): Promise<void>;
/**
* Asnyc wrapper for the {@link export} implementation.
* Writes the current values of all exported {@link MetricRecord}s
* to the Google Cloud Monitoring backend.
*
* @param resourceMetrics Metrics to be sent to the Google Cloud Monitoring backend
*/
private _exportAsync;
private _sendTimeSeries;
/** Returns the minimum number of arrays of max size chunkSize, partitioned from the given array. */
private _partitionList;
}