@microsoft/agents-a365-observability package
Sınıflar
| Agent365ExporterOptions |
Dışarı aktarma toplu işlemi başına en fazla yayılma alanı sayısı. |
| BaggageBuilder |
OpenTelemetry bağlam yayma için istek bagaj oluşturucusu başına. Bu sınıf, OpenTelemetry bağlamında yayılacak bagaj değerlerini ayarlamak için akıcı bir API sağlar. Örnek
|
| BaggageScope |
Bagaj kapsamı için bağlam yöneticisi. Bu sınıf, bagaj değerlerinin yaşam döngüsünü yönetir, girişte ayarlar ve çıkışta önceki bağlamı geri yükler. |
| Builder |
OpenTelemetry izleme ile Agent 365'i yapılandırmak için oluşturucu |
| ExecuteToolScope |
Yapay zeka aracı yürütme işlemleri için OpenTelemetry izleme kapsamı sağlar. |
| InferenceScope |
Oluşturma yapay zeka çıkarım işlemleri için OpenTelemetry izleme kapsamı sağlar. |
| InvokeAgentScope |
Yapay zeka aracısı çağırma işlemleri için OpenTelemetry izleme kapsamı sağlar. |
| ObservabilityConfiguration |
Gözlemlenebilirlik paketi için yapılandırma. Çalışma zamanı ayarlarını devralır ve gözlemlenebilirliğe özgü ayarlar ekler. |
| ObservabilityManager |
AI aracıları ve araçları için OpenTelemetry izleme sağlayan Agent 365 ana giriş noktası |
| OpenTelemetryConstants |
Aracı 365 için OpenTelemetry sabitleri |
| OpenTelemetryScope |
OpenTelemetry izleme kapsamları için temel sınıf |
| OutputScope |
Üst yayılma bağlantısıyla çıkış iletisi izlemesi için OpenTelemetry izleme kapsamı sağlar. |
| PerRequestSpanProcessorConfiguration |
PerRequestSpanProcessor yapılandırması. Çalışma zamanı ayarlarını (clusterCategory, isNodeEnvDevelopment) devralır ve istek başına işlemci korumaları ekler. PerRequestSpanProcessor yalnızca belirli senaryolarda kullanıldığından ve bu ayarların ortak ObservabilityConfiguration'da gösterilmemesi gerektiğinden, bu observabilityConfiguration'dan ayrılır. |
Arabirimler
| AgentDetails |
Yapay zeka aracısı hakkındaki ayrıntılar |
| BlobPart |
Satır içi ikili veriler (base64 ile kodlanmış). |
| BuilderOptions |
Agent 365 Gözlemlenebilirlik Oluşturucusu için yapılandırma seçenekleri |
| CallerDetails |
Kapsam oluşturma için arayan ayrıntıları. İnsan arayanları, aracı arayanları veya her ikisini (zincirdeki bir insanla A2A) destekler.
Geçiş notu: v1'de insan arayan kimliğine (şimdi Geçiş kılavuzu için bkz. UserDetails — insan arayan kimliği (daha önce |
| Channel |
Çağrı için kanalı temsil eder |
| ChatMessage |
Modele gönderilen giriş iletisi (OTEL gen-ai semantik kuralları). |
| FilePart |
Önceden yüklenmiş bir dosyaya başvuru. |
| GenericPart |
Özel/gelecek türler için genişletilebilir bölüm. |
| GenericServerToolCall |
Tür ayrıştırıcısı ile genişletilebilir sunucu aracı çağrı ayrıntıları. |
| GenericServerToolCallResponse |
Tür ayrıştırıcısı ile genişletilebilir sunucu aracı çağrı yanıtı. |
| ILogger |
Agent 365 gözlemlenebilirliği için özel günlükçü arabirimi Arka uçları günlüğe kaydetmeyi desteklemek için bu arabirimi uygulayın |
| InferenceDetails |
Çıkarım çağrısının ayrıntıları |
| InferenceResponse |
Çıkarım çağrısından yanıtı kaydetme ayrıntıları |
| InputMessages | |
| InvokeAgentScopeDetails |
Aracı kapsamını çağırma ayrıntıları. |
| OutputMessage |
Model tarafından oluşturulan bir çıkış iletisi (OTEL gen-ai semantik kuralları). |
| OutputMessages | |
| OutputResponse |
Bir aracıdan gelen çıkış iletilerini içeren bir yanıtı temsil eder. Çıkış iletisi izleme için OutputScope ile kullanılır. Düz dizeleri, yapılandırılmış OTEL OutputMessage nesnelerini veya ham bir dikteyi kabul eder (OTEL belirtimlerine göre araç çağrı sonucu olarak kabul edilir). |
| ParentSpanRef |
Zaman uyumsuz sınırlar arasında açık üst-alt bağlantı için üst yayılmaya başvuru. Otomatik bağlam yayma başarısız olduğunda (örneğin, WebSocket geri çağırmaları, dış olay işleyicileri) kullanılır. |
| ReasoningPart |
Model mantığı / düşünce zinciri içeriği. |
| Request |
Telemetri bağlamı olan bir isteği temsil eder. Kanal ve konuşma izleme için tüm kapsam türlerinde kullanılır. |
| ServerToolCallPart |
Sunucu tarafı araç çağırma. |
| ServerToolCallResponsePart |
Sunucu tarafı araç yanıtı. |
| ServiceEndpoint |
Aracı çağırma için bir uç noktayı temsil eder |
| SpanDetails |
Kapsam oluşturma için span yapılandırma ayrıntıları. OpenTelemetry span seçeneklerini tek bir nesne halinde gruplandırarak kapsam yöntemi imzasının yeni seçenekler eklendikçe kararlı kalmasını sağlar. |
| TextPart |
Düz metin içeriği. |
| ToolCallDetails |
Aracı tarafından yapılan araç çağrısının ayrıntıları |
| ToolCallRequestPart |
Model tarafından istenen bir araç çağrısı. |
| ToolCallResponsePart |
Araç çağrısının sonucu. |
| UriPart |
Dış URI başvurusu. |
| UserDetails |
İnsan kullanıcı çağıranı hakkındaki ayrıntılar. |
Tür Diğer Adları
| EnhancedAgentDetails | |
| HeadersCarrier |
İzleme bağlamı yaymada kullanılan HTTP üst bilgileri için taşıyıcı türü. Node.js GelenHttpHeaders ve düz dize eşlemeleriyle uyumludur. |
| InputMessagesParam |
için |
| MessagePart |
OTEL gen-ai semantik kuralları başına tüm ileti parça türlerinin birleşimi. Not: GenericPart , özel veya gelecekteki parça türleriyle ileriye dönük uyumluluk için tümünü yakalama işlevi görür. değeri |
| ObservabilityConfigurationOptions |
Gözlemlenebilirlik yapılandırma seçenekleri - çalışma zamanı seçeneklerini genişletir. Tüm geçersiz kılmalar, her özellik erişiminde çağrılan işlevlerdir. RuntimeConfigurationOptions'dan devralındı:
Not: |
| OutputMessagesParam |
için |
| ParentContext |
Yayılma alanı oluşturma için üst bağlam. Kabul eder:
|
| PerRequestSpanProcessorConfigurationOptions |
PerRequestSpanProcessor için yapılandırma seçenekleri - çalışma zamanı seçeneklerini genişletir. Tüm geçersiz kılmalar, her özellik erişiminde çağrılan işlevlerdir. RuntimeConfigurationOptions'dan devralındı:
|
| ResponseMessagesParam |
için |
Numaralandırmalar
| ExporterEventNames |
Agent365Exporter tarafından günlüğe kaydetme ve izleme için kullanılan olay adları. Bunlar, verimli izleme ve toplama sağlamak için düşük kardinaliteye sahip olay türleridir. |
| FinishReason |
Otel gen-ai semantik kurallarına göre modelin oluşturmayı durdurmasının nedeni. |
| InferenceOperationType |
Model çıkarımı türleri için farklı işlemi temsil eder |
| InvocationRole |
Aracı çağırabilen farklı rolleri temsil eder |
| MessageRole |
OTEL gen-ai semantik kuralları başına bir ileti katılımcısının rolü. |
| Modality |
Blob, dosya ve URI bölümleri için medya kalıcılığı. |
İşlevler
| create |
Açık üst yayılma alanı başvurusuyla yeni bir Bağlam oluşturur. Bu, zaman uyumsuz bağlam bozulsa bile alt span'ların doğru şekilde üst öğeye sahip olmasını sağlar. |
| extract |
Genel olarak kaydedilen W3C yayıcısını kullanarak gelen HTTP üst bilgilerinden izleme bağlamını ayıklar. Kapsam sınıflarına ParentContext olarak geçirilebilen bir OTel döndürür. Örnek
|
| format |
İleti ve yığın izleme ile günlüğe kaydetme için hata nesnesini biçimlendirme |
| get |
Belirli bir OTel Bağlamından (veya etkin olandan) istek başına dışarı aktarma belirtecini alın. |
| get |
Geçerli günlükçü örneğini alma |
| inject |
Genel olarak kaydedilen W3C yayıcısını kullanarak sağlanan üst bilgi nesnesine geçerli izleme bağlamını ( Örnek
|
| is |
İstek başına dışarı aktarmanın etkinleştirilip etkinleştirilmediğini denetleyin. Öncelik: iç geçersiz kılma yapılandırma > sağlayıcısı > ortam değişkeni. Etkinleştirildiğinde, BatchSpanProcessor yerine PerRequestSpanProcessor kullanılır. Belirteç dışarı aktarma zamanında OTel Bağlamı (zaman uyumsuz yerel depolama) aracılığıyla geçirilir. |
| normalize |
bir
|
| normalize |
bir
|
| reset |
Varsayılan konsol günlükçüsne sıfırlama (temel olarak test için) |
| run |
İstek başına dışarı aktarma belirtecini taşıyan bir Bağlam içinde bir işlev çalıştırın. Bu, belirteci hiçbir kayıt defterinde değil yalnızca OTel Bağlamı'nda (ALS) tutar. Belirteç daha sonra izleme temizlenmeden önce aracılığıyla |
| run |
Gelen HTTP üst bilgilerinden izleme bağlamını ayıklar ve bu bağlamda geri çağırmayı çalıştırır. Geri çağırma içinde oluşturulan tüm span'lar ayıklanan izlemenin üst öğesi olur. Örnek
|
| run |
Açık üst yayılma alanı başvurusu olan bir bağlam içinde bir geri çağırma işlevi çalıştırır. Bu, bağlam yayma işleminin bozuk olduğu zaman uyumsuz geri çağırmalarda alt yayılmalar oluşturmak için kullanışlıdır. |
| safe |
Değerin her zaman JSON ayrıştırılabilir bir dize olmasını sağlar.
|
| serialize |
JSON sürümüne sahip bir ileti sarmalayıcısını seri hale getirmektedir. Çıktı, tam sarmalayıcı nesnesidir: Try/catch, ileti bölümleri JSON serileştirilebilir olmayan değerler (bigInt, dairesel refs gibi) içerdiğinde bile telemetri kaydının oluşturmamasını sağlar. |
| set |
Gözlemlenebilirlik SDK'sı için özel günlükçü uygulaması ayarlama Winston ile örnek:
|
| update |
Etkin OTel Bağlamında dışarı aktarma belirtecini güncelleştirin. Uzun süre çalışan bir istek sırasında özgün belirtecin süresi dolmuş olabilirken kök aralığı sonlandırmadan önce belirteci yenilemek için bunu çağırın. tarafından |
Değişkenler
| A365_MESSAGE_SCHEMA_VERSION | |
| default |
ObservabilityConfiguration için paylaşılan varsayılan sağlayıcı. |
| default |
PerRequestSpanProcessorConfiguration için paylaşılan varsayılan sağlayıcı. |
| logger | Geriye dönük uyumluluk için varsayılan günlükçü örneği. setLogger() aracılığıyla değiştirilebilen genel günlükçüye temsilciler. |
İşlev Ayrıntıları
createContextWithParentSpanRef(Context, ParentSpanRef)
Açık üst yayılma alanı başvurusuyla yeni bir Bağlam oluşturur. Bu, zaman uyumsuz bağlam bozulsa bile alt span'ların doğru şekilde üst öğeye sahip olmasını sağlar.
function createContextWithParentSpanRef(base: Context, parent: ParentSpanRef): Context
Parametreler
- base
-
Context
Genişletecek temel bağlam (genellikle context.active())
- parent
- ParentSpanRef
traceId ve spanId içeren üst span başvurusu
Döndürülenler
Context
Üst yayılma alanı kümesine sahip yeni bir Bağlam
extractContextFromHeaders(HeadersCarrier, Context)
Genel olarak kaydedilen W3C yayıcısını kullanarak gelen HTTP üst bilgilerinden izleme bağlamını ayıklar. Kapsam sınıflarına ParentContext olarak geçirilebilen bir OTel döndürür.
Örnek
const parentCtx = extractContextFromHeaders(req.headers);
const scope = InvokeAgentScope.start(request, scopeDetails, agentDetails, undefined, { parentContext: parentCtx });
function extractContextFromHeaders(headers: HeadersCarrier, baseCtx?: Context): Context
Parametreler
- headers
- HeadersCarrier
öğesini içeren traceparent/tracestategelen HTTP isteği üst bilgileri.
- baseCtx
-
Context
Genişletecek isteğe bağlı temel bağlam. Varsayılan olarak etkin bağlamı kullanır.
Döndürülenler
Context
Ayıklanan izleme bilgilerini içeren bir OTel Bağlamı.
formatError(unknown)
İleti ve yığın izleme ile günlüğe kaydetme için hata nesnesini biçimlendirme
function formatError(error: unknown): string
Parametreler
- error
-
unknown
Döndürülenler
string
getExportToken(Context)
Belirli bir OTel Bağlamından (veya etkin olandan) istek başına dışarı aktarma belirtecini alın.
function getExportToken(ctx?: Context): string | undefined
Parametreler
- ctx
-
Context
Döndürülenler
string | undefined
getLogger()
injectContextToHeaders(Record<string, string>, Context)
Genel olarak kaydedilen W3C yayıcısını kullanarak sağlanan üst bilgi nesnesine geçerli izleme bağlamını (traceparent/tracestate üst bilgiler) ekler.
Örnek
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>
Parametreler
- headers
-
Record<string, string>
İzleme bağlamı üst bilgilerinin yazılacağı değiştirilebilir nesne.
- ctx
-
Context
Ekleme için isteğe bağlı OTel Bağlamı. Varsayılan olarak etkin bağlamı kullanır.
Döndürülenler
Record<string, string>
Zincirleme kolaylığı için aynı headers nesne.
isPerRequestExportEnabled(IConfigurationProvider<PerRequestSpanProcessorConfiguration>)
İstek başına dışarı aktarmanın etkinleştirilip etkinleştirilmediğini denetleyin. Öncelik: iç geçersiz kılma yapılandırma > sağlayıcısı > ortam değişkeni. Etkinleştirildiğinde, BatchSpanProcessor yerine PerRequestSpanProcessor kullanılır. Belirteç dışarı aktarma zamanında OTel Bağlamı (zaman uyumsuz yerel depolama) aracılığıyla geçirilir.
function isPerRequestExportEnabled(configProvider?: IConfigurationProvider<PerRequestSpanProcessorConfiguration>): boolean
Parametreler
- configProvider
-
IConfigurationProvider<PerRequestSpanProcessorConfiguration>
İsteğe bağlı yapılandırma sağlayıcısı. Belirtilmezse defaultPerRequestSpanProcessorConfigurationProvider olarak varsayılan değerdir.
Döndürülenler
boolean
normalizeInputMessages(InputMessagesParam)
bir InputMessagesParam sürümünü bir sarmalayıcıya InputMessages normalleştirir.
-
string/string[]→ dönüştürüldüChatMessage[]ve sarmalandı -
InputMessages→ döndürülen as-is
function normalizeInputMessages(param: InputMessagesParam): InputMessages
Parametreler
- param
- InputMessagesParam
Döndürülenler
normalizeOutputMessages(OutputMessagesParam)
bir OutputMessagesParam sürümünü bir sarmalayıcıya OutputMessages normalleştirir.
-
string/string[]→ dönüştürüldüOutputMessage[]ve sarmalandı -
OutputMessages→ döndürülen as-is
function normalizeOutputMessages(param: OutputMessagesParam): OutputMessages
Parametreler
- param
- OutputMessagesParam
Döndürülenler
resetLogger()
Varsayılan konsol günlükçüsne sıfırlama (temel olarak test için)
function resetLogger()
runWithExportToken<T>(string, () => T)
İstek başına dışarı aktarma belirtecini taşıyan bir Bağlam içinde bir işlev çalıştırın. Bu, belirteci hiçbir kayıt defterinde değil yalnızca OTel Bağlamı'nda (ALS) tutar.
Belirteç daha sonra izleme temizlenmeden önce aracılığıyla updateExportToken() güncelleştirilebilir; geri arama uzun süre çalıştığında ve özgün belirtecin süresi dışarı aktarmadan önce dolabilir.
function runWithExportToken<T>(token: string, fn: () => T): T
Parametreler
- token
-
string
- fn
-
() => T
Döndürülenler
T
runWithExtractedTraceContext<T>(HeadersCarrier, () => T)
Gelen HTTP üst bilgilerinden izleme bağlamını ayıklar ve bu bağlamda geri çağırmayı çalıştırır. Geri çağırma içinde oluşturulan tüm span'lar ayıklanan izlemenin üst öğesi olur.
Örnek
runWithExtractedTraceContext(req.headers, () => {
const scope = InvokeAgentScope.start(request, scopeDetails, agentDetails);
scope.dispose();
});
function runWithExtractedTraceContext<T>(headers: HeadersCarrier, callback: () => T): T
Parametreler
- headers
- HeadersCarrier
öğesini içeren traceparent/tracestategelen HTTP isteği üst bilgileri.
- callback
-
() => T
Ayıklanan bağlam içinde yürütülecek işlev.
Döndürülenler
T
Geri çağırmanın sonucu.
runWithParentSpanRef<T>(ParentSpanRef, () => T)
Açık üst yayılma alanı başvurusu olan bir bağlam içinde bir geri çağırma işlevi çalıştırır. Bu, bağlam yayma işleminin bozuk olduğu zaman uyumsuz geri çağırmalarda alt yayılmalar oluşturmak için kullanışlıdır.
function runWithParentSpanRef<T>(parent: ParentSpanRef, callback: () => T): T
Parametreler
- parent
- ParentSpanRef
Üst yayılma alanı başvurusu
- callback
-
() => T
Üst bağlamla yürütülecek işlev
Döndürülenler
T
Geri çağırmanın sonucu
safeSerializeToJson(string | Record<string, unknown>, string)
Değerin her zaman JSON ayrıştırılabilir bir dize olmasını sağlar.
- Nesneler JSON.stringify aracılığıyla serileştirilir.
- Geçerli JSON nesneleri/dizileri olan dizeler geçirilir.
- Diğer tüm dizeler (çıplak JSON temel öğeleri dahil) sarmalanmıştır:
{ [key]: value }.
function safeSerializeToJson(value: string | Record<string, unknown>, key: string): string
Parametreler
- value
-
string | Record<string, unknown>
Serileştirecek değer.
- key
-
string
Düz dize sarmalarken kullanılacak anahtar.
Döndürülenler
string
serializeMessages(InputMessages | OutputMessages)
JSON sürümüne sahip bir ileti sarmalayıcısını seri hale getirmektedir.
Çıktı, tam sarmalayıcı nesnesidir: {"version":"0.1.0","messages":[...]}.
Try/catch, ileti bölümleri JSON serileştirilebilir olmayan değerler (bigInt, dairesel refs gibi) içerdiğinde bile telemetri kaydının oluşturmamasını sağlar.
function serializeMessages(wrapper: InputMessages | OutputMessages): string
Parametreler
- wrapper
Döndürülenler
string
setLogger(ILogger)
Gözlemlenebilirlik SDK'sı için özel günlükçü uygulaması ayarlama
Winston ile örnek:
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)
Parametreler
- customLogger
- ILogger
Özel günlükçü uygulaması
updateExportToken(string)
Etkin OTel Bağlamında dışarı aktarma belirtecini güncelleştirin. Uzun süre çalışan bir istek sırasında özgün belirtecin süresi dolmuş olabilirken kök aralığı sonlandırmadan önce belirteci yenilemek için bunu çağırın.
tarafından runWithExportTokenoluşturulan aynı zaman uyumsuz bağlam içinde çağrılmalıdır.
function updateExportToken(token: string): boolean
Parametreler
- token
-
string
Dışarı aktarma için kullanılacak yeni belirteç.
Döndürülenler
boolean
belirteç başarıyla güncelleştirildiyse true, belirteç sahibi bulunamadıysa false.
Değişken Ayrıntıları
A365_MESSAGE_SCHEMA_VERSION
A365_MESSAGE_SCHEMA_VERSION: "0.1.0"
Tür
string
defaultObservabilityConfigurationProvider
ObservabilityConfiguration için paylaşılan varsayılan sağlayıcı.
defaultObservabilityConfigurationProvider: DefaultConfigurationProvider<ObservabilityConfiguration>
Tür
defaultPerRequestSpanProcessorConfigurationProvider
PerRequestSpanProcessorConfiguration için paylaşılan varsayılan sağlayıcı.
defaultPerRequestSpanProcessorConfigurationProvider: DefaultConfigurationProvider<PerRequestSpanProcessorConfiguration>
Tür
logger
Geriye dönük uyumluluk için varsayılan günlükçü örneği. setLogger() aracılığıyla değiştirilebilen genel günlükçüye temsilciler.
logger: ILogger