@azure/monitor-opentelemetry
Version:
Azure Monitor OpenTelemetry (Node.js)
78 lines • 2.43 kB
TypeScript
import { MeterProvider } from "@opentelemetry/sdk-metrics";
import type { ReadableSpan } from "@opentelemetry/sdk-trace-base";
import type { AzureMonitorOpenTelemetryOptions } from "../types.js";
import type { LogRecord } from "@opentelemetry/sdk-logs";
/**
* Azure Monitor PerformanceCounter Metrics
*/
export declare class PerformanceCounterMetrics {
private internalConfig;
private collectionInterval;
private meterProvider;
private azureExporter;
private metricReader;
private meter;
private requestDurationHistogram;
private requestRateGauge;
private requestRateGaugeCallback;
private memoryPrivateBytesGauge;
private memoryPrivateBytesGaugeCallback;
private memoryAvailableBytesGauge;
private memoryAvailableBytesGaugeCallback;
private processorTimeGauge;
private processorTimeGaugeCallback;
private processTimeNormalizedGauge;
private processTimeNormalizedGaugeCallback;
private processTimeGauge;
private processTimeGaugeCallback;
private exceptionCountGauge;
private exceptionCountGaugeCallback;
private lastExceptionRate;
private totalCount;
private intervalExecutionTime;
private lastRequestRate;
private lastAppCpuUsage;
private lastHrtime;
private lastCpus;
private lastCpusProcess;
private totalExceptionCount;
/**
* Creates performance counter instruments.
* @param options - Distro configuration.
* @param config - Application Insights configuration.
*/
constructor(config: AzureMonitorOpenTelemetryOptions, options?: {
collectionInterval: number;
});
/**
* Shutdown Meter Provider it will return no-op Meters after being called.
*/
shutdown(): Promise<void>;
/**
* Force flush Meter Provider.
*/
flush(): Promise<void>;
/**
*Get OpenTelemetry MeterProvider
*/
getMeterProvider(): MeterProvider;
/**
* Record Span metrics
* @internal
*/
recordSpan(span: ReadableSpan): void;
/**
* Record Log metrics
* @internal
*/
recordLog(logRecord: LogRecord): void;
private getRequestRate;
private getPrivateMemory;
private getAvailableMemory;
private getTotalCombinedCpu;
private getProcessorTime;
private getNormalizedProcessTime;
private getProcessTime;
private getExceptionRate;
}
//# sourceMappingURL=performanceCounters.d.ts.map