UNPKG

@google-cloud/spanner

Version:
145 lines (144 loc) 4.13 kB
import { MetricData, DataPoint, ResourceMetrics } from '@opentelemetry/sdk-metrics'; import { Resource } from '@opentelemetry/resources'; import { MonitoredResource } from '@google-cloud/opentelemetry-resource-util'; import { MetricKind, ValueType } from './external-types'; /** Transforms a OpenTelemetry instrument type to a GCM MetricKind. */ declare function _transformMetricKind(metric: MetricData): MetricKind; /** Transforms resource to Google Cloud Monitoring monitored resource */ declare function _transformResource(labels: { [key: string]: string; }): MonitoredResource; /** Transforms a OpenTelemetry ValueType to a GCM ValueType. */ declare function _transformValueType(metric: MetricData): ValueType; /** * Convert the metrics data to a list of Google Cloud Monitoring time series. */ export declare function transformResourceMetricToTimeSeriesArray(resourceMetrics: ResourceMetrics): { metric: { type: string; labels: {}; }; resource: MonitoredResource; metricKind: MetricKind; valueType: ValueType; points: ({ value: { int64Value: string; doubleValue?: undefined; } | { doubleValue: string; int64Value?: undefined; }; interval: { endTime: { seconds: any; nanos: any; }; startTime?: { seconds: any; nanos: any; } | undefined; }; } | { value: { distributionValue: { count: string; mean: number; bucketOptions: any; bucketCounts: string[]; }; }; interval: { startTime: { seconds: any; nanos: any; }; endTime: { seconds: any; nanos: any; }; }; } | { value: unknown; interval: { endTime: { seconds: any; nanos: any; }; startTime?: undefined; }; })[]; unit: string; }[]; /** * Transform timeseries's point, so that metric can be uploaded to GCM. */ declare function _transformPoint<T>(metric: MetricData, dataPoint: DataPoint<T>): { value: { int64Value: string; doubleValue?: undefined; } | { doubleValue: string; int64Value?: undefined; }; interval: { endTime: { seconds: any; nanos: any; }; startTime?: { seconds: any; nanos: any; } | undefined; }; } | { value: { distributionValue: { count: string; mean: number; bucketOptions: any; bucketCounts: string[]; }; }; interval: { startTime: { seconds: any; nanos: any; }; endTime: { seconds: any; nanos: any; }; }; } | { value: T; interval: { endTime: { seconds: any; nanos: any; }; startTime?: undefined; }; }; /** Extracts metric and monitored resource labels from data point */ declare function _extractLabels<T>({ attributes }: DataPoint<T> | Resource): { metricLabels: {}; monitoredResourceLabels: {}; }; declare function _normalizeLabelKey(key: string): string; /** Transforms an OpenTelemetry time value to a GCM time value. */ declare function _formatHrTimeToGcmTime(hrTime: any): { seconds: any; nanos: any; }; export declare const _TEST_ONLY: { _normalizeLabelKey: typeof _normalizeLabelKey; _transformMetricKind: typeof _transformMetricKind; _extractLabels: typeof _extractLabels; _formatHrTimeToGcmTime: typeof _formatHrTimeToGcmTime; _transformResource: typeof _transformResource; _transformPoint: typeof _transformPoint; _transformValueType: typeof _transformValueType; transformResourceMetricToTimeSeriesArray: typeof transformResourceMetricToTimeSeriesArray; }; export {};