@google-cloud/spanner
Version:
Cloud Spanner Client Library for Node.js
145 lines (144 loc) • 4.13 kB
TypeScript
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 {};