applicationinsights
Version:
Microsoft Application Insights module for Node.js
63 lines (62 loc) • 2 kB
TypeScript
import { MeterProvider } from "@opentelemetry/sdk-metrics";
import { ReadableSpan } from "@opentelemetry/sdk-trace-base";
import { ApplicationInsightsConfig } from "../shared/configuration/config";
/**
* 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 _processTimeGauge;
private _processTimeGaugeCallback;
private _totalCount;
private _intervalExecutionTime;
private _lastRequestRate;
private _lastAppCpuUsage;
private _lastHrtime;
private _lastCpus;
private _lastCpusProcess;
/**
* Creates performance counter instruments.
* @param options - Distro configuration.
* @param config - Application Insights configuration.
*/
constructor(config: ApplicationInsightsConfig, 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
*/
recordSpan(span: ReadableSpan): void;
private _getRequestRate;
private _getPrivateMemory;
private _getAvailableMemory;
private _getTotalCombinedCpu;
private _getProcessorTime;
private _getProcessTime;
}