@azure/monitor-opentelemetry
Version:
Azure Monitor OpenTelemetry (Node.js)
56 lines • 1.69 kB
TypeScript
import { MeterProvider } from "@opentelemetry/sdk-metrics";
import type { InternalConfig } from "../shared/config.js";
import type { ReadableSpan, Span } from "@opentelemetry/sdk-trace-base";
import type { LogRecord } from "@opentelemetry/sdk-logs";
/**
* Azure Monitor Standard Metrics
* @internal
*/
export declare class StandardMetrics {
private _config;
private _collectionInterval;
private _meterProvider;
private _azureExporter;
private _metricReader;
private _meter;
private _incomingRequestDurationHistogram;
private _outgoingRequestDurationHistogram;
private _exceptionsCounter;
private _tracesCounter;
/**
* Initializes a new instance of the StandardMetrics class.
* @param config - Distro configuration.
* @param options - Standard Metrics options.
*/
constructor(config: InternalConfig, options?: {
collectionInterval: number;
});
/**
* Shutdown Meter Provider it will return no-op Meters after being called.
*/
shutdown(): void;
/**
* Force flush Meter Provider.
*/
flush(): Promise<void>;
/**
*Get OpenTelemetry MeterProvider
*/
getMeterProvider(): MeterProvider;
/**
* Add extra attributes to Span so Ingestion doesn't aggregate the data again
* @internal
*/
markSpanAsProcessed(span: Span): void;
/**
* 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;
}
//# sourceMappingURL=standardMetrics.d.ts.map