@azure/monitor-opentelemetry
Version:
Azure Monitor OpenTelemetry (Node.js)
56 lines • 2.26 kB
TypeScript
import type { TokenCredential } from "@azure/core-auth";
import type { IsSubscribedOptionalParams, PublishOptionalParams, CollectionConfigurationInfo } from "../../../generated/index.js";
/**
* Response type that includes the body and response headers from the Live Metrics service.
* @internal
*/
export interface QuickpulseResponse extends CollectionConfigurationInfo {
/** Whether the instrumentation key is subscribed. */
xMsQpsSubscribed?: string;
/** Configuration ETag. */
xMsQpsConfigurationEtag?: string;
/** Polling interval hint (only for ping). */
xMsQpsServicePollingIntervalHint?: string;
/** Endpoint redirect (only for ping). */
xMsQpsServiceEndpointRedirectV2?: string;
}
/**
* Quickpulse sender class
* @internal
*/
export declare class QuickpulseSender {
private quickpulseClient;
private instrumentationKey;
private endpointUrl;
private credential;
private credentialScopes;
constructor(options: {
endpointUrl: string;
instrumentationKey: string;
credential?: TokenCredential;
credentialScopes?: string | string[];
});
private createQuickpulseClient;
/**
* isSubscribed Quickpulse service
* @internal
*/
isSubscribed(optionalParams: IsSubscribedOptionalParams): Promise<QuickpulseResponse | undefined>;
/**
* publish Quickpulse service
* @internal
*/
publish(optionalParams: PublishOptionalParams): Promise<QuickpulseResponse | undefined>;
/**
* Apply a server-issued Live Metrics redirect (`x-ms-qps-service-endpoint-redirect-v2`) by
* re-pointing the underlying client at the new host.
*
* Cross-origin redirects are refused (no state mutated) when the target is neither the configured
* Live Metrics host nor under a known Azure Monitor ingestion domain suffix. Refusing them is
* required to prevent an attacker-controlled redirect from causing the bearer auth policy to
* attach a freshly-signed AAD token (scope `https://monitor.azure.com/.default`) — and the
* telemetry body — to a foreign host on the next ping/publish call.
*/
handlePermanentRedirect(location: string | undefined): void;
}
//# sourceMappingURL=sender.d.ts.map