@azure/monitor-opentelemetry
Version:
Azure Monitor OpenTelemetry (Node.js)
112 lines • 3.56 kB
TypeScript
import { MeterProvider } from "@opentelemetry/sdk-metrics";
import type { InternalConfig } from "../../shared/config.js";
import type { ReadableSpan } from "@opentelemetry/sdk-trace-base";
import type { LogRecord } from "@opentelemetry/sdk-logs";
import type { DocumentIngress } from "../../generated/index.js";
import type { CollectionConfigurationError } from "../../generated/index.js";
/**
* Azure Monitor Live Metrics
* @internal
*/
export declare class LiveMetrics {
private config;
private meterProvider;
private metricReader;
private meter;
private requestDurationGauge;
private dependencyDurationGauge;
private requestRateGauge;
private requestFailedRateGauge;
private dependencyRateGauge;
private dependencyFailedRateGauge;
private processPhysicalBytesGauge;
private percentProcessorTimeNormalizedGauge;
private exceptionsRateGauge;
private documents;
private pingInterval;
private postInterval;
private quickpulseExporter;
private pingSender;
private isCollectingData;
private lastSuccessTime;
private handle;
private baseMonitoringDataPoint;
private totalRequestCount;
private totalFailedRequestCount;
private totalDependencyCount;
private totalFailedDependencyCount;
private totalExceptionCount;
private requestDuration;
private dependencyDuration;
private lastRequestDuration;
private lastRequestRate;
private lastFailedRequestRate;
private lastDependencyDuration;
private lastDependencyRate;
private lastFailedDependencyRate;
private lastExceptionRate;
private lastCpuUsage;
private lastHrTime;
private statsbeatOptionsUpdated;
private etag;
private errorTracker;
private seenMetricIds;
private validDerivedMetrics;
private derivedMetricProjection;
private validator;
private filter;
private validDocumentFilterConjuctionGroupInfos;
/**
* Initializes a new instance of the StandardMetrics class.
* @param config - Distro configuration.
* @param options - Standard Metrics options.
*/
constructor(config: InternalConfig);
shutdown(): void;
private goQuickpulse;
private quickPulseDone;
activateMetrics(options?: {
collectionInterval: number;
}): void;
/**
* Deactivate metric collection
*/
deactivateMetrics(): void;
/**
* Force flush Meter Provider.
*/
flush(): Promise<void>;
/**
*Get OpenTelemetry MeterProvider
*/
getMeterProvider(): MeterProvider | undefined;
getDocuments(): DocumentIngress[];
getErrors(): CollectionConfigurationError[];
getDerivedMetricValues(): Map<string, number>;
private addDocument;
/**
* Record Span metrics
* @internal
*/
recordSpan(span: ReadableSpan): void;
/**
* Record LogRecord metrics, add attribute so data is not aggregated again in ingestion
* @internal
*/
recordLog(logRecord: LogRecord): void;
private getRequestDuration;
private getRequestRate;
private getRequestFailedRate;
private getDependencyDuration;
private getDependencyRate;
private getDependencyFailedRate;
private getExceptionRate;
private getPhysicalMemory;
private getProcessorTimeNormalized;
private updateConfiguration;
private parseDocumentFilterConfiguration;
private applyDocumentFilters;
private parseMetricFilterConfiguration;
private checkMetricFilterAndCreateProjection;
}
//# sourceMappingURL=liveMetrics.d.ts.map