@microsoft/agents-a365-observability package

Klasy

Agent365ExporterOptions

Maksymalna liczba zakresów na partię eksportu.

BaggageBuilder

Na żądanie konstruktor bagażu dla propagacji kontekstu OpenTelemetry.

Ta klasa zapewnia płynny interfejs API do ustawiania wartości bagażu, które będą propagowane w kontekście OpenTelemetry.

Przykład

const scope = new BaggageBuilder()
  .tenantId("tenant-123")
  .agentId("agent-456")
  .build();

scope.enter();
// Baggage is set in this context
// ... do work ...
scope.exit();
// Baggage is restored after exiting the context
BaggageScope

Menedżer kontekstu dla zakresu bagażu.

Ta klasa zarządza cyklem życia wartości bagażu, ustawiając je podczas wprowadzania i przywracania poprzedniego kontekstu podczas zamykania.

Builder

Konstruktor do konfigurowania agenta 365 przy użyciu śledzenia OpenTelemetry

ExecuteToolScope

Udostępnia zakres śledzenia OpenTelemetry dla operacji wykonywania narzędzi sztucznej inteligencji.

InferenceScope

Udostępnia zakres śledzenia OpenTelemetry dla operacji wnioskowania generowania sztucznej inteligencji.

InvokeAgentScope

Udostępnia zakres śledzenia OpenTelemetry dla operacji wywołania agenta sztucznej inteligencji.

ObservabilityConfiguration

Konfiguracja pakietu do obserwowania. Dziedziczy ustawienia środowiska uruchomieniowego i dodaje ustawienia specyficzne dla obserwacji.

ObservabilityManager

Główny punkt wejścia dla agenta 365 udostępniający śledzenie OpenTelemetry dla agentów i narzędzi sztucznej inteligencji

OpenTelemetryConstants

Stałe OpenTelemetry dla agenta 365

OpenTelemetryScope

Klasa bazowa dla zakresów śledzenia OpenTelemetry

OutputScope

Zapewnia zakres śledzenia openTelemetry dla śledzenia komunikatów wyjściowych z nadrzędnym łączeniem zakresu.

PerRequestSpanProcessorConfiguration

Konfiguracja narzędzia PerRequestSpanProcessor. Dziedziczy ustawienia środowiska uruchomieniowego (clusterCategory, isNodeEnvDevelopment) i dodaje zabezpieczenia procesora na żądanie.

Jest to oddzielone od funkcji ObservabilityConfiguration, ponieważ narzędzie PerRequestSpanProcessor jest używane tylko w określonych scenariuszach, a te ustawienia nie powinny być uwidocznione w typowej funkcji ObservabilityConfiguration.

Interfejsy

AgentDetails

Szczegółowe informacje o agencie sztucznej inteligencji

BlobPart

Wbudowane dane binarne (zakodowane w formacie base64).

BuilderOptions

Opcje konfiguracji narzędzia Agent 365 Observability Builder

CallerDetails

Szczegóły elementu wywołującego dotyczące tworzenia zakresu. Obsługuje osoby wywołujące ludzi, rozmówców agentów lub obie (A2A z człowiekiem w łańcuchu).

Uwaga dotycząca migracji: W wersji 1 nazwa CallerDetails odwołuje się do tożsamości osoby wywołującej (teraz UserDetails). W wersji 2 została ona przeprojektowana jako otoka, która grupuje zarówno informacje o człowieku, jak i rozmówcę agenta.

Zobacz UserDetails — tożsamość wywołująca człowieka (wcześniej CallerDetails) Zobacz sekcję CHANGELOG.md — zmiany powodujące niezgodność, aby uzyskać wskazówki dotyczące migracji

Channel

Reprezentuje kanał wywołania

ChatMessage

Komunikat wejściowy wysyłany do modelu (konwencje semantyczne OTEL gen-ai).

FilePart

Odwołanie do wstępnie przekazanego pliku.

GenericPart

Rozszerzalna część dla typów niestandardowych/przyszłych.

GenericServerToolCall

Rozszerzalne szczegóły wywołania narzędzia serwera z dyskryminującym typem.

GenericServerToolCallResponse

Rozszerzalna odpowiedź wywołania narzędzia serwera z dyskryminującym typem.

ILogger

Niestandardowy interfejs rejestratora dla możliwości obserwowania agenta 365 Implementowanie tego interfejsu w celu obsługi zapleczy rejestrowania

InferenceDetails

Szczegóły wywołania wnioskowania

InferenceResponse

Szczegóły rejestrowania odpowiedzi z wywołania wnioskowania

InputMessages
InvokeAgentScopeDetails

Szczegóły dotyczące wywoływania zakresu agenta.

OutputMessage

Komunikat wyjściowy wygenerowany przez model (konwencje semantyczne OTEL gen-ai).

OutputMessages
OutputResponse

Reprezentuje odpowiedź zawierającą komunikaty wyjściowe z agenta. Używany z outputScope do śledzenia komunikatów wyjściowych. Akceptuje zwykłe ciągi, ustrukturyzowane obiekty OTEL OutputMessage lub nieprzetworzone dykt (traktowane jako wynik wywołania narzędzia na specyfikację OTEL).

ParentSpanRef

Odwołanie do zakresu nadrzędnego dla jawnego łączenia elementu nadrzędnego-podrzędnego w granicach asynchronicznych. Używane, gdy propagacja kontekstu automatycznego kończy się niepowodzeniem (np. wywołania zwrotne protokołu WebSocket, programy obsługi zdarzeń zewnętrznych).

ReasoningPart

Rozumowanie modelu/łańcuch treści myślowych.

Request

Reprezentuje żądanie z kontekstem telemetrii. Używane we wszystkich typach zakresu na potrzeby śledzenia kanałów i konwersacji.

ServerToolCallPart

Wywołanie narzędzia po stronie serwera.

ServerToolCallResponsePart

Odpowiedź narzędzia po stronie serwera.

ServiceEndpoint

Reprezentuje punkt końcowy wywołania agenta

SpanDetails

Szczegóły konfiguracji obejmują tworzenie zakresu. Grupuje opcje zakresu OpenTelemetry w jednym obiekcie, dzięki czemu sygnatura metody zakresu pozostaje stabilna w miarę dodawania nowych opcji.

TextPart

Zawartość zwykłego tekstu.

ToolCallDetails

Szczegóły wywołania narzędzia wykonanego przez agenta

ToolCallRequestPart

Wywołanie narzędzia żądane przez model.

ToolCallResponsePart

Wynik wywołania narzędzia.

UriPart

Dokumentacja zewnętrznego identyfikatora URI.

UserDetails

Szczegółowe informacje o obiekcie wywołującym użytkownika ludzkiego.

Aliasy typu

EnhancedAgentDetails
HeadersCarrier

Typ operatora dla nagłówków HTTP używanych w propagacji kontekstu śledzenia. Zgodność z mapami Node.js IncomingHttpHeaders i zwykłymi ciągami.

InputMessagesParam

Zaakceptowane dane wejściowe dla elementu recordInputMessages. Obsługuje pojedynczy ciąg, tablicę ciągów (zgodność z poprzednimi wersjami) lub opakowy w wersji.

MessagePart

Związek wszystkich typów części komunikatów na konwencje semantyczne OTEL gen-ai.

Uwaga: Element GenericPart działa jako element catch-all w celu zapewnienia zgodności z niestandardowymi lub przyszłymi typami części. Ze względu na to, że jest to type (nie literał), wyczerpującestringswitch/ustawienie nie case spowoduje wygenerowania błędów czasu kompilacji w przypadku nieobsługiwanego przypadku.part.type

ObservabilityConfigurationOptions

Opcje konfiguracji możliwości obserwacji — rozszerza opcje środowiska uruchomieniowego. Wszystkie przesłonięcia to funkcje wywoływane dla każdego dostępu do właściwości.

Dziedziczone z runtimeConfigurationOptions:

  • clusterCategory
  • isNodeEnvDevelopment

Uwaga: isDevelopmentEnvironment jest pochodnym elementem getter w klasie konfiguracji (w oparciu o klasterCategory), a nie opcją zastępowalną.

OutputMessagesParam

Zaakceptowane dane wejściowe dla elementu recordOutputMessages. Obsługuje pojedynczy ciąg, tablicę ciągów (zgodność z poprzednimi wersjami) lub opakowy w wersji.

ParentContext

Kontekst nadrzędny do tworzenia zakresu. Akceptuje albo:

PerRequestSpanProcessorConfigurationOptions

Opcje konfiguracji narzędzia PerRequestSpanProcessor — rozszerza opcje środowiska uruchomieniowego. Wszystkie przesłonięcia to funkcje wywoływane dla każdego dostępu do właściwości.

Dziedziczone z runtimeConfigurationOptions:

  • clusterCategory, isNodeEnvDevelopment
ResponseMessagesParam

Zaakceptowane dane wejściowe dla elementu OutputResponse.messages. Obsługuje zwykłe ciągi, ustrukturyzowane outputMessages lub nieprzetworzone dykt (traktowane jako wynik wywołania narzędzia dla specyfikacji OTEL i serializowane bezpośrednio za pośrednictwem formatu JSON.stringify).

Wyliczenia

ExporterEventNames

Nazwy zdarzeń używane przez agenta365Exporter do rejestrowania i monitorowania. Są to typy zdarzeń o niskiej kardynalności, aby zapewnić wydajne monitorowanie i agregację.

FinishReason

Przyczyna, dla którego model przestał generować konwencje semantyczne OTEL gen-ai.

InferenceOperationType

Reprezentuje różne operacje dla typów wnioskowania modelu

InvocationRole

Reprezentuje różne role, które mogą wywoływać agenta

MessageRole

Rola uczestnika wiadomości na konwencje semantyczne OTEL gen-ai.

Modality

Modalność multimediów dla części obiektów blob, plików i identyfikatorów URI.

Funkcje

createContextWithParentSpanRef(Context, ParentSpanRef)

Tworzy nowy kontekst z jawnym odwołaniem zakresu nadrzędnego. Dzięki temu zakresy podrzędne mogą być poprawnie nadrzędne nawet wtedy, gdy kontekst asynchroniczny jest uszkodzony.

extractContextFromHeaders(HeadersCarrier, Context)

Wyodrębnia kontekst śledzenia z przychodzących nagłówków HTTP przy użyciu globalnie zarejestrowanego propagora W3C. Zwraca obiekt OTel ParentContext , który można przekazać do klas zakresu jako element ParentContext.

Przykład

const parentCtx = extractContextFromHeaders(req.headers);
const scope = InvokeAgentScope.start(request, scopeDetails, agentDetails, undefined, { parentContext: parentCtx });
formatError(unknown)

Formatuj obiekt błędu rejestrowania za pomocą komunikatu i śledzenia stosu

getExportToken(Context)

Pobierz token eksportu na żądanie z danego kontekstu OTel (lub aktywnego).

getLogger()

Pobieranie bieżącego wystąpienia rejestratora

injectContextToHeaders(Record<string, string>, Context)

Wprowadza bieżący kontekst śledzenia (traceparent/tracestate nagłówki) do dostarczonego obiektu nagłówków przy użyciu globalnie zarejestrowanego propagora W3C.

Przykład

const headers: Record<string, string> = {};
injectContextToHeaders(headers);
await fetch('http://service-b/process', { headers });
isPerRequestExportEnabled(IConfigurationProvider<PerRequestSpanProcessorConfiguration>)

Sprawdź, czy eksport na żądanie jest włączony. Pierwszeństwo: wewnętrzne zastępowanie > zmiennej środowiskowej dostawcy > konfiguracji. Po włączeniu parametru PerRequestSpanProcessor jest używany zamiast klasy BatchSpanProcessor. Token jest przekazywany za pośrednictwem kontekstu OTel (asynchronicznego magazynu lokalnego) w czasie eksportowania.

normalizeInputMessages(InputMessagesParam)

Normalizuje InputMessagesParam wersję otoki do wersji InputMessages .

  • string / string[] → przekonwertowane na ChatMessage[] i opakowane
  • InputMessages → zwrócone as-is
normalizeOutputMessages(OutputMessagesParam)

Normalizuje OutputMessagesParam wersję otoki do wersji OutputMessages .

  • string / string[] → przekonwertowane na OutputMessage[] i opakowane
  • OutputMessages → zwrócone as-is
resetLogger()

Resetuj do domyślnego rejestratora konsoli (głównie do testowania)

runWithExportToken<T>(string, () => T)

Uruchom funkcję w ramach kontekstu, która przenosi token eksportu dla poszczególnych żądań. Spowoduje to zachowanie tokenu tylko w kontekście OTel (ALS), nigdy w żadnym rejestrze.

Token można zaktualizować później, updateExportToken() zanim ślad zostanie opróżniony — przydatne, gdy wywołanie zwrotne jest długotrwałe, a oryginalny token może wygasnąć przed eksportem.

runWithExtractedTraceContext<T>(HeadersCarrier, () => T)

Wyodrębnia kontekst śledzenia z przychodzących nagłówków HTTP i uruchamia wywołanie zwrotne w tym kontekście. Wszystkie przedziały utworzone wewnątrz wywołania zwrotnego będą nadrzędne do wyodrębnionego śledzenia.

Przykład

runWithExtractedTraceContext(req.headers, () => {
  const scope = InvokeAgentScope.start(request, scopeDetails, agentDetails);
  scope.dispose();
});
runWithParentSpanRef<T>(ParentSpanRef, () => T)

Uruchamia funkcję wywołania zwrotnego w kontekście, który ma jawne odwołanie zakresu nadrzędnego. Jest to przydatne w przypadku tworzenia zakresów podrzędnych w asynchronicznych wywołaniach zwrotnych, w których propagacja kontekstu jest uszkodzona.

safeSerializeToJson(string | Record<string, unknown>, string)

Gwarantuje, że wartość jest zawsze ciągiem analizowalnym w formacie JSON.

  • Obiekty są serializowane za pośrednictwem pliku JSON.stringify.
  • Ciągi, które są już prawidłowymi obiektami/tablicami JSON, są przekazywane.
  • Wszystkie inne ciągi (w tym nagie elementy pierwotne JSON) są opakowane: { [key]: value }.
serializeMessages(InputMessages | OutputMessages)

Serializuje wersję otoki komunikatów w formacie JSON.

Dane wyjściowe to pełny obiekt otoki: {"version":"0.1.0","messages":[...]}.

Funkcja try/catch zapewnia, że rejestrowanie danych telemetrycznych nie jest zgłaszane nawet wtedy, gdy części komunikatów zawierają wartości nieserializowalne w formacie JSON (np. BigInt, odwołania cykliczne).

setLogger(ILogger)

Ustawianie niestandardowej implementacji rejestratora dla zestawu SDK do obserwacji

Przykład z winstonem:

import * as winston from 'winston';
import { setLogger } from '@microsoft/agents-a365-observability';

const winstonLogger = winston.createLogger({
  level: 'info',
  format: winston.format.json(),
  transports: [
    new winston.transports.File({ filename: 'error.log', level: 'error' }),
    new winston.transports.File({ filename: 'combined.log' })
  ]
});

setLogger({
  info: (msg, ...args) => winstonLogger.info(msg, ...args),
  warn: (msg, ...args) => winstonLogger.warn(msg, ...args),
  error: (msg, ...args) => winstonLogger.error(msg, ...args),
  event: (eventType, isSuccess, durationMs, message, details) => {
    // eventType is ExporterEventNames enum value
    winstonLogger.log({ level: isSuccess ? 'info' : 'error', eventType, isSuccess, durationMs, message, ...details });
  }
});
updateExportToken(string)

Zaktualizuj token eksportu w aktywnym kontekście OTel. Wywołaj tę metodę, aby odświeżyć token przed zakończeniem zakresu głównego, gdy oryginalny token mógł wygasł podczas długotrwałego żądania.

Musi być wywoływany w tym samym kontekście asynchronicznym utworzonym przez runWithExportTokenprogram .

Zmienne

A365_MESSAGE_SCHEMA_VERSION
defaultObservabilityConfigurationProvider

Udostępniony domyślny dostawca funkcji ObservabilityConfiguration.

defaultPerRequestSpanProcessorConfigurationProvider

Udostępniony domyślny dostawca perRequestSpanProcessorConfiguration.

logger

Domyślne wystąpienie rejestratora pod kątem zgodności z poprzednimi wersjami. Delegaty do globalnego rejestratora, który można zamienić za pomocą setLogger().

Szczegóły funkcji

createContextWithParentSpanRef(Context, ParentSpanRef)

Tworzy nowy kontekst z jawnym odwołaniem zakresu nadrzędnego. Dzięki temu zakresy podrzędne mogą być poprawnie nadrzędne nawet wtedy, gdy kontekst asynchroniczny jest uszkodzony.

function createContextWithParentSpanRef(base: Context, parent: ParentSpanRef): Context

Parametry

base

Context

Kontekst podstawowy do rozszerzenia (zazwyczaj context.active())

parent
ParentSpanRef

Odwołanie do zakresu nadrzędnego zawierające identyfikator traceId i spanId

Zwraca

Context

Nowy kontekst z zestawem rozpiętości nadrzędnej

extractContextFromHeaders(HeadersCarrier, Context)

Wyodrębnia kontekst śledzenia z przychodzących nagłówków HTTP przy użyciu globalnie zarejestrowanego propagora W3C. Zwraca obiekt OTel ParentContext , który można przekazać do klas zakresu jako element ParentContext.

Przykład

const parentCtx = extractContextFromHeaders(req.headers);
const scope = InvokeAgentScope.start(request, scopeDetails, agentDetails, undefined, { parentContext: parentCtx });
function extractContextFromHeaders(headers: HeadersCarrier, baseCtx?: Context): Context

Parametry

headers
HeadersCarrier

Przychodzące nagłówki żądań HTTP zawierające traceparent/tracestate.

baseCtx

Context

Opcjonalny kontekst podstawowy do rozszerzenia. Domyślnie jest to aktywny kontekst.

Zwraca

Context

Kontekst OTel zawierający wyodrębnione informacje śledzenia.

formatError(unknown)

Formatuj obiekt błędu rejestrowania za pomocą komunikatu i śledzenia stosu

function formatError(error: unknown): string

Parametry

error

unknown

Zwraca

string

getExportToken(Context)

Pobierz token eksportu na żądanie z danego kontekstu OTel (lub aktywnego).

function getExportToken(ctx?: Context): string | undefined

Parametry

ctx

Context

Zwraca

string | undefined

getLogger()

Pobieranie bieżącego wystąpienia rejestratora

function getLogger(): ILogger

Zwraca

injectContextToHeaders(Record<string, string>, Context)

Wprowadza bieżący kontekst śledzenia (traceparent/tracestate nagłówki) do dostarczonego obiektu nagłówków przy użyciu globalnie zarejestrowanego propagora W3C.

Przykład

const headers: Record<string, string> = {};
injectContextToHeaders(headers);
await fetch('http://service-b/process', { headers });
function injectContextToHeaders(headers: Record<string, string>, ctx?: Context): Record<string, string>

Parametry

headers

Record<string, string>

Obiekt modyfikowalny, w którym będą zapisywane nagłówki kontekstu śledzenia.

ctx

Context

Opcjonalny kontekst OTel do wstrzykiwania. Domyślnie jest to aktywny kontekst.

Zwraca

Record<string, string>

Ten sam headers obiekt, dla wygody łańcucha.

isPerRequestExportEnabled(IConfigurationProvider<PerRequestSpanProcessorConfiguration>)

Sprawdź, czy eksport na żądanie jest włączony. Pierwszeństwo: wewnętrzne zastępowanie > zmiennej środowiskowej dostawcy > konfiguracji. Po włączeniu parametru PerRequestSpanProcessor jest używany zamiast klasy BatchSpanProcessor. Token jest przekazywany za pośrednictwem kontekstu OTel (asynchronicznego magazynu lokalnego) w czasie eksportowania.

function isPerRequestExportEnabled(configProvider?: IConfigurationProvider<PerRequestSpanProcessorConfiguration>): boolean

Parametry

configProvider

IConfigurationProvider<PerRequestSpanProcessorConfiguration>

Opcjonalny dostawca konfiguracji. Wartość domyślna to DefaultPerRequestSpanProcessorConfigurationProvider, jeśli nie zostanie określony.

Zwraca

boolean

normalizeInputMessages(InputMessagesParam)

Normalizuje InputMessagesParam wersję otoki do wersji InputMessages .

  • string / string[] → przekonwertowane na ChatMessage[] i opakowane
  • InputMessages → zwrócone as-is
function normalizeInputMessages(param: InputMessagesParam): InputMessages

Parametry

Zwraca

normalizeOutputMessages(OutputMessagesParam)

Normalizuje OutputMessagesParam wersję otoki do wersji OutputMessages .

  • string / string[] → przekonwertowane na OutputMessage[] i opakowane
  • OutputMessages → zwrócone as-is
function normalizeOutputMessages(param: OutputMessagesParam): OutputMessages

Parametry

Zwraca

resetLogger()

Resetuj do domyślnego rejestratora konsoli (głównie do testowania)

function resetLogger()

runWithExportToken<T>(string, () => T)

Uruchom funkcję w ramach kontekstu, która przenosi token eksportu dla poszczególnych żądań. Spowoduje to zachowanie tokenu tylko w kontekście OTel (ALS), nigdy w żadnym rejestrze.

Token można zaktualizować później, updateExportToken() zanim ślad zostanie opróżniony — przydatne, gdy wywołanie zwrotne jest długotrwałe, a oryginalny token może wygasnąć przed eksportem.

function runWithExportToken<T>(token: string, fn: () => T): T

Parametry

token

string

fn

() => T

Zwraca

T

runWithExtractedTraceContext<T>(HeadersCarrier, () => T)

Wyodrębnia kontekst śledzenia z przychodzących nagłówków HTTP i uruchamia wywołanie zwrotne w tym kontekście. Wszystkie przedziały utworzone wewnątrz wywołania zwrotnego będą nadrzędne do wyodrębnionego śledzenia.

Przykład

runWithExtractedTraceContext(req.headers, () => {
  const scope = InvokeAgentScope.start(request, scopeDetails, agentDetails);
  scope.dispose();
});
function runWithExtractedTraceContext<T>(headers: HeadersCarrier, callback: () => T): T

Parametry

headers
HeadersCarrier

Przychodzące nagłówki żądań HTTP zawierające traceparent/tracestate.

callback

() => T

Funkcja do wykonania w wyodrębnionym kontekście.

Zwraca

T

Wynik wywołania zwrotnego.

runWithParentSpanRef<T>(ParentSpanRef, () => T)

Uruchamia funkcję wywołania zwrotnego w kontekście, który ma jawne odwołanie zakresu nadrzędnego. Jest to przydatne w przypadku tworzenia zakresów podrzędnych w asynchronicznych wywołaniach zwrotnych, w których propagacja kontekstu jest uszkodzona.

function runWithParentSpanRef<T>(parent: ParentSpanRef, callback: () => T): T

Parametry

parent
ParentSpanRef

Odwołanie do zakresu nadrzędnego

callback

() => T

Funkcja do wykonania z kontekstem nadrzędnym

Zwraca

T

Wynik wywołania zwrotnego

safeSerializeToJson(string | Record<string, unknown>, string)

Gwarantuje, że wartość jest zawsze ciągiem analizowalnym w formacie JSON.

  • Obiekty są serializowane za pośrednictwem pliku JSON.stringify.
  • Ciągi, które są już prawidłowymi obiektami/tablicami JSON, są przekazywane.
  • Wszystkie inne ciągi (w tym nagie elementy pierwotne JSON) są opakowane: { [key]: value }.
function safeSerializeToJson(value: string | Record<string, unknown>, key: string): string

Parametry

value

string | Record<string, unknown>

Wartość do serializacji.

key

string

Klucz do użycia podczas zawijania zwykłego ciągu.

Zwraca

string

serializeMessages(InputMessages | OutputMessages)

Serializuje wersję otoki komunikatów w formacie JSON.

Dane wyjściowe to pełny obiekt otoki: {"version":"0.1.0","messages":[...]}.

Funkcja try/catch zapewnia, że rejestrowanie danych telemetrycznych nie jest zgłaszane nawet wtedy, gdy części komunikatów zawierają wartości nieserializowalne w formacie JSON (np. BigInt, odwołania cykliczne).

function serializeMessages(wrapper: InputMessages | OutputMessages): string

Parametry

Zwraca

string

setLogger(ILogger)

Ustawianie niestandardowej implementacji rejestratora dla zestawu SDK do obserwacji

Przykład z winstonem:

import * as winston from 'winston';
import { setLogger } from '@microsoft/agents-a365-observability';

const winstonLogger = winston.createLogger({
  level: 'info',
  format: winston.format.json(),
  transports: [
    new winston.transports.File({ filename: 'error.log', level: 'error' }),
    new winston.transports.File({ filename: 'combined.log' })
  ]
});

setLogger({
  info: (msg, ...args) => winstonLogger.info(msg, ...args),
  warn: (msg, ...args) => winstonLogger.warn(msg, ...args),
  error: (msg, ...args) => winstonLogger.error(msg, ...args),
  event: (eventType, isSuccess, durationMs, message, details) => {
    // eventType is ExporterEventNames enum value
    winstonLogger.log({ level: isSuccess ? 'info' : 'error', eventType, isSuccess, durationMs, message, ...details });
  }
});
function setLogger(customLogger: ILogger)

Parametry

customLogger
ILogger

Implementacja niestandardowego rejestratora

updateExportToken(string)

Zaktualizuj token eksportu w aktywnym kontekście OTel. Wywołaj tę metodę, aby odświeżyć token przed zakończeniem zakresu głównego, gdy oryginalny token mógł wygasł podczas długotrwałego żądania.

Musi być wywoływany w tym samym kontekście asynchronicznym utworzonym przez runWithExportTokenprogram .

function updateExportToken(token: string): boolean

Parametry

token

string

Świeży token do użycia do eksportowania.

Zwraca

boolean

Wartość true, jeśli token został pomyślnie zaktualizowany, wartość false, jeśli nie znaleziono właściciela tokenu.

Szczegóły zmiennej

A365_MESSAGE_SCHEMA_VERSION

A365_MESSAGE_SCHEMA_VERSION: "0.1.0"

Typ

string

defaultObservabilityConfigurationProvider

Udostępniony domyślny dostawca funkcji ObservabilityConfiguration.

defaultObservabilityConfigurationProvider: DefaultConfigurationProvider<ObservabilityConfiguration>

Typ

defaultPerRequestSpanProcessorConfigurationProvider

Udostępniony domyślny dostawca perRequestSpanProcessorConfiguration.

defaultPerRequestSpanProcessorConfigurationProvider: DefaultConfigurationProvider<PerRequestSpanProcessorConfiguration>

Typ

logger

Domyślne wystąpienie rejestratora pod kątem zgodności z poprzednimi wersjami. Delegaty do globalnego rejestratora, który można zamienić za pomocą setLogger().

logger: ILogger

Typ