Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
[Ten artykuł to dokumentacja wstępna, która może ulec zmianie].
Użyj aplikacja systemu Azure Insights do monitorowania śladów agentów Copilot Studio eksportowanych z środowiska zarządzanego. Po skonfigurowaniu eksportu użyj usług Azure Monitor i Application Insights do weryfikowania uruchomień agentów, monitorowania wykonywania węzłów i narzędzi, tworzenia alertów oraz niestandardowych zapytań i pulpitów nawigacyjnych do analizy operacyjnej.
Note
- Telemetria na poziomie środowiskowym jest dostępna dla agentów zasilanych zarówno przez standardową wiązkę, jak i wiązkę GitHub Copilot.
- Po prywatnej wersji zapoznawczej wywołania agenta głównego (
invoke_agent) są teraz emitowane jakodependencies(wraz ze wszystkimi pozostałymi zakresami), a nie jakorequests. W rezultacie ślady wywołań z poziomu głównego agenta mogą nadal pojawiać się w tabelirequestsaż do zakończenia globalnego wdrożenia. - Aby ocenić tę funkcję podglądową z wykorzystaniem najnowszej strategii i możliwości telemetrycznych, możesz przetestować w środowisku nieprodukcyjnym z włączonym cyklem wczesnej premiery .
- Ta funkcja jest obecnie wdrażana globalnie i może nie być jeszcze w pełni dostępna w Twoich środowiskach.
- Ta funkcja jest dostępna wyłącznie w środowiskach zarządzanych.
- W Application Insights dostępne są tylko logi agentów zbudowanych w Copilot Studio, z wyłączeniem agentów deklaratywnych.
- Aby przyjąć wyłącznie strategię Application Insights na poziomie środowiskowym dla telemetrii agentów Copilot Studio, organizacje mogą wyłączyć telemetrię Application Insights na poziomie agenta.
Ten artykuł wyjaśnia, jak skonfigurować eksport śledzeń agentów Copilot Studio na poziomie środowiska do usługi aplikacja systemu Azure Insights za pomocą centrum administracyjnego Power Platform.
Ważna
Ten artykuł zawiera dokumentację usługi Microsoft Copilot Studio w wersji zapoznawczej i może ulec zmianie.
Funkcje w wersji zapoznawczej nie są przeznaczone do użytku w środowiskach produkcyjnych i mogą mieć ograniczoną funkcjonalność. Te funkcje są udostępniane przed oficjalnym wydaniem, dzięki czemu można szybciej uzyskać do nich dostęp i przekazać opinie na ich temat.
Jeśli tworzysz agenta gotowego do użycia w środowisku produkcyjnym, zobacz Omówienie usługi Microsoft Copilot Studio.
Wymagania wstępne
Przed skonfigurowaniem połączenia eksportu danych wypełnij wymagania wstępne Eksportuj dane do Application Insights.
Co jest eksportowane
Po włączeniu eksportu telemetria śledzenia dla agentów Copilot Studio jest zapisywana w usłudze Application Insights w ukierunkowanym na śledzenie formacie obserwowalności zgodnym z OpenTelemetry, który obsługuje analizę, pulpity nawigacyjne i alerty.
Zdarzenia agentów w Copilot Studio są zapisywane w tabeli dependencies jako spany. Każde wyeksportowane zdarzenie (InvokeAgent, ExecuteTool i OutputMessages) to pojedynczy wiersz span (itemType = dependency).
Jak przęsła tworzą ślad
Telemetria jest zgodna z modelem śladów i spanów OpenTelemetry, odtwarzanym na podstawie kolumn operation_Id i operation_ParentId:
- Każda tura agenta jest osobnym śladem, identyfikowanym za pomocą wspólnego
operation_Id, dzięki któremu usługa Application Insights może grupować tę turę i wyświetlać ją w widoku transakcji end-to-end. - Rozpiętość
InvokeAgentjest źródłem śladu jego zwrotu. JejExecuteTooli połączoneOutputMessagesprzęsła gniazdują pod nim, każdy niosącoperation_ParentId= przęsłaInvokeAgent.id - Rozmowa trwa kilka tur, z których każda jest emitowana jako osobny ślad. Grupuj lub filtruj według
gen_ai.conversation.id, aby ponownie połączyć wypowiedzi z jednej rozmowy w jeden wątek. -
OutputMessagesSpany nie zawsze emitują element rootInvokeAgent, co oznacza, że mogą (zgodnie z założeniem) dotrzeć bez pasującego elementu nadrzędnego i występować jako samodzielny ślad składający się z jednego węzła.
Utwórz pakiet eksportu
Stwórz pakiet eksportowy z typem eksportu ustawionym na Copilot Studio, postępując zgodnie z instrukcjami w sekcji Utwórz pakiet eksportowy dokumentacji centrum administracyjnego Power Platform.
Weryfikacja konfiguracji
Po zapisaniu konfiguracji eksportu przeprowadź testową rozmowę z agentem i popewnij, że telemetria dociera do Application Insights. Dostarczanie telemetrii może trwać do 24 godzin w nowych konfiguracjach. Sprawdź, czy:
- W tabeli
dependenciespojawiają się rozpiętości agentów. - Rozpiętości
InvokeAgent,ExecuteTooliOutputMessageskażdego obrotu współdzieląoperation_Id.
Pola Application Insights
Poniższa tabela przedstawia pola w tabeli dependencies oraz wskazuje, które pola są wypełniane dla każdego z trzech eksportowanych zdarzeń agenta: InvokeAgent, ExecuteTool oraz OutputMessages. Semantyka agenta i operacji znajduje się w customDimensions (kluczach gen_ai.* , takich jak gen_ai.operation.name), a nie w natywnych kolumnach.
Pola w tabeli dependencies |
InvokeAgent | ExecuteTool | Komunikaty wyjściowe | Przykładowa wartość |
|---|---|---|---|---|
timestamp [UTC] |
✔️ | ✔️ | ✔️ | 6/11/2026, 5:02:13.501 AM |
id |
✔️ | ✔️ | ✔️ | 1111aaa1-aa11-11aa-11a1-a1aaa1111aa1 |
name |
✔️ | ✔️ | ✔️ | InvokeAgent / ExecuteTool / OutputMessages |
resultCode |
✔️ | ✔️ | ✔️ |
OK, ERROR |
type |
✔️ | ✔️ | ✔️ | GenAI |
target |
✔️ | ✔️ | ✔️ | GenAI |
data |
✔️ | ✔️ | ✔️ | invoke_agent / execute_tool / output_messages |
success |
✔️ | ✔️ | ✔️ | True |
duration |
✔️ | ✔️ | ✔️ | 0 |
performanceBucket |
✔️ | ✔️ | ✔️ | <250ms |
itemType |
✔️ | ✔️ | ✔️ | dependency |
customDimensions |
✔️ | ✔️ | ✔️ | Dowiedz się więcej w właściwościach customDimension |
operation_Id |
✔️ | ✔️ | ✔️ |
trace-1111aaa1-aa11-11aa-11a1-a1aaa1111aa1 (współdzielone przez każdy segment w danej turze) |
operation_ParentId |
✔️ | ✔️ | ✔️ | Element turn dla podrzędnych spanów InvokeAgentid; korzeń śledzenia dla spanu InvokeAgent |
client_Type |
✔️ | ✔️ | ✔️ | PC |
client_IP |
✔️ | ✔️ | ✔️ | 0.0.0.0 |
client_City |
✔️ | ✔️ | ✔️ | San Jose |
client_StateOrProvince |
✔️ | ✔️ | ✔️ | California |
client_CountryOrRegion |
✔️ | ✔️ | ✔️ | United States |
appId |
✔️ | ✔️ | ✔️ | 11111a1a-1111-1111-a111-1a1a1a11111a |
appName |
✔️ | ✔️ | ✔️ | - |
iKey |
✔️ | ✔️ | ✔️ | aa111a1a-a1aa-111a-111a-a111a111111a |
sdkVersion |
✔️ | ✔️ | ✔️ | dotnetc:2.23.0-29 |
itemId |
✔️ | ✔️ | ✔️ | a1a1111a-1111-11a1-1111-111111aa1a1a |
itemCount |
✔️ | ✔️ | ✔️ | 1 |
_ResourceId |
✔️ | ✔️ | ✔️ | - |
właściwości customDimensions
Każdy zakres zawiera JSON customDimensions . Poniższa tabela przedstawia typowe klucze występujące w każdym elemencie span:
| Key | Przykładowa wartość |
|---|---|
SpanId |
1111aaa1-aa11-11aa-11a1-a1aaa1111aa1 |
error.type |
404 |
Status.code |
1, 2 |
Status.message |
Descriptive failure message |
gen_ai.agent.id |
1aa11a11-1a1a-1a11-1a1a-1111aa1111aa |
gen_ai.agent.name |
MCS Agent |
gen_ai.conversation.id |
aaaaa111-1a1a-1111-1aa1-a111111a11a1 |
gen_ai.request.model |
Sonnet46 |
gen_ai.operation.name |
invoke_agent / execute_tool / output_messages |
env.id |
111a1aa1-a1aa-aaa1-a11a-11a111111111 |
microsoft.tenant.id |
11aaa111-1a11-1a1a-a111-aa1a111a111a |
microsoft.a365.agent.blueprint.id |
1111111a-aa11-1a11-a1a1-a11a1111a1a1 |
microsoft.a365.agent.platform.id |
111a1aa1-…_1a11111a-… |
microsoft.channel.name |
Copilot Studio Test Pane |
resource.provider |
copilot studio |
signal.category |
default |
a365.enabled |
True |
appinsights.enabled |
True |
user.id |
- |
user.email |
My.User@mytenant.onmicrosoft.com |
user.name |
My User |
client.address |
::ffff:00.00.00.00 |
telemetry.sdk.name |
A365ObservabilitySDK |
telemetry.sdk.language |
dotnet |
telemetry.sdk.version |
1.1.9.43597 |
Klucze dla konkretnych zdarzeń
Poniższa tabela przedstawia klucze specyficzne dla konkretnych zdarzeń:
| Key | InvokeAgent | ExecuteTool | Komunikaty wyjściowe | Description |
|---|---|---|---|---|
gen_ai.input.messages |
✔️ | - | - | Tablica JSON zawierająca {role, parts:[{content, type}]}, czyli monit użytkownika |
gen_ai.output.messages |
- | - | ✔️ | JSON array — odpowiedź agenta |
gen_ai.tool.name |
- | ✔️ | - | Na przykład workiqsharepoint:mcp_SharePointRemoteServer |
gen_ai.tool.type |
- | ✔️ | - | Na przykład MCP - Power Platform Connector |
gen_ai.tool.call.id |
- | ✔️ | - | Identyfikator wywołania narzędzia |
gen_ai.tool.call.arguments |
- | ✔️ | - | Ładunek JSON wysyłany do narzędzia |
gen_ai.tool.call.result |
- | ✔️ | - | Ładunek JSON zwracany przez narzędzie |
Odkryj aktualny schemat
Schemat opisany w tym artykule może ewoluować z czasem. Zamiast polegać wyłącznie na wyżej wymienionych tabelach, użyj poniższych zapytań, aby sprawdzić najnowszy schemat na żywo w swoim środowisku.
Wyświetl wbudowane kolumny tabeli
Następujące zapytanie zwraca schemat dependencies na poziomie kolumny tabeli. Użyj go do potwierdzania dostępnych natywnych kolumn podczas tworzenia zapytań, pulpitów czy alertów.
dependencies
| getschema
| project ColumnName, ColumnType
| order by ColumnName asc
Odkryj klucze customDimensions (właściwości dynamiczne)
Poniższe zapytanie wymienia każdy klucz wewnątrz customDimensions JSON w dependencies tabeli: nazwę właściwości, zdarzenia agenta, na których się pojawia (InvokeAgent, ExecuteTool, ), OutputMessagesoraz wartość próby. W przeciwieństwie do natywnego schematu kolumnowego, te właściwości są dynamiczne, więc zapytanie pozostaje dokładne, gdy SDK dodaje nowe gen_ai.* lub inne klucze. Użyj go jako żywego źródła prawdy dla dostępnych atrybutów.
dependencies
| where timestamp > ago(7d)
| mv-expand Key = bag_keys(customDimensions) to typeof(string)
| summarize Events = make_set(name), SampleValue = take_any(tostring(customDimensions[Key])) by Key
| order by Key asc
Monitoruj eksportowaną telemetrię
Użyj Application Insights Logs, aby zapytać o aktywność agenta i zbadać wykonanie agenta lub narzędzia. Wszystkie eksportowane dane telemetryczne trafiają do tabeli dependencies jako spany:
- Każdy ruch agenta to ślad, pogrupowany przez wspólny
operation_Id. - Rozpiętość
InvokeAgentto korzeń śladowy;ExecuteToolaOutputMessagesprzęsła gniazdują pod nim przezoperation_ParentId. - Grupuj według
gen_ai.conversation.id, aby połączyć wiele tur tej samej rozmowy w jeden wątek, a ten identyfikator dziel według_, aby uwzględnić ślady subagenta.
Bloki Agents (wersja zapoznawcza)
Oprócz logów, Application Insights oferuje wbudowane widoki agentów (podgląd ), które wizualizują wyeksportowaną telemetrię GenAI bez konieczności zapisywania zapytań Kusto. Gdy Copilot Studio zapisuje swoje spany do tabeli dependencies, te panele odczytują dane bezpośrednio z tej tabeli:
-
Uruchomienia agenta: Wyświetla wywołania agenta utworzone na podstawie spanów
InvokeAgent, wraz z czasem ich trwania, statusem powodzenia oraz informacją, do której konwersacji należy dane uruchomienie. Obowiązują pewne ograniczenia; Dowiedz się więcej w Znane ograniczenia i kwestie do rozważenia. -
Narzędzia: Agreguje
ExecuteToolspanów, aby pokazać, z których narzędzi korzystają agenci, jak często i jaką mają wydajność. - Modele: Podsumowuje wykorzystanie modelu w różnych przebiegach, ukazując wywołane modele oraz ich wzorce wywołań.
Analizuj telemetrię agentów za pomocą Application Insights
Po połączeniu środowiska z Application Insights rejestruje on dane telemetryczne agentów, gdy użytkownicy wchodzą w interakcje z agentem, także podczas testów w Copilot Studio. Aby zobaczyć zarejestrowane dane telemetryczne, przejdź do sekcji Logi w swoim zasobu Application Insights w Azure. Tutaj możesz używać zapytań Kusto do zapytań i analizy swoich danych. Dowiedz się więcej w przykładowych zapytaniach.
Przykłady zapytań
Poniższe przykłady zapytań Kusto rekonstruują rozmowy agentów Copilot Studio na podstawie tabeli dependencies w Application Insights. Ponieważ w każdej turze każdy span współdzieli trace operation_Id, zapytania porządkują spany od korzenia (span InvokeAgent przed jego spanami podrzędnymi) w obrębie każdego trace.
Zapytanie 1: Zwróć pełny ślad dla konkretnego identyfikatora rozmowy
To zapytanie zwraca wszystkie spany dla jednej określonej rozmowy, uporządkowane chronologicznie, przy czym każdy span główny jest wymieniony przed swoimi spanami podrzędnymi. Zastąp symbol zastępczy identyfikator rozmowy identyfikatorem rozmowy swojego agenta. Możesz go znaleźć, wpisując następujące polecenie podczas testowania własnego agenta: /debug conversationid.
let LatestConvo = "<Conversation ID>";
dependencies
| where tostring(customDimensions["gen_ai.conversation.id"]) == LatestConvo
| order by operation_Id asc, iff(name == "InvokeAgent", 0, 1) asc, timestamp asc
| project timestamp, name, id, operation_Id,
operation_ParentId, duration, target, type, cloud_RoleName,
resultCode, customDimensions
Zapytanie 2: Opowiedz o najnowszej rozmowie o konkretnym agentzie
To zapytanie wyszukuje najnowszą rozmowę dla wskazanego agenta w określonym oknie czasowym. Zwraca wszystkie zakresy dla tej rozmowy w tej samej kolejności chronologicznej, zaczynając od elementu głównego. Zastąp symbol zastępczy Agent name imieniem agenta.
let Window = 7d;
let AgentName = "<Agent name>";
let LatestConvo = toscalar(
dependencies
| where timestamp > ago(Window)
| where tostring(customDimensions["gen_ai.agent.name"]) == AgentName
| where isnotempty(tostring(customDimensions["gen_ai.conversation.id"]))
| top 1 by timestamp desc
| project tostring(customDimensions["gen_ai.conversation.id"])
);
dependencies
| where timestamp > ago(Window)
| where tostring(customDimensions["gen_ai.conversation.id"]) == LatestConvo
| order by operation_Id asc, iff(name == "InvokeAgent", 0, 1) asc, timestamp asc
| project timestamp, name, id, operation_Id,
operation_ParentId, duration, target, type, cloud_RoleName,
resultCode, customDimensions
Zapytanie 3: Rozwiń znane właściwości genAI OpenTelemetry do kolumn
To zapytanie zwraca ten sam ślad co zapytanie 2, ale również parsuje każdy znany klucz konwencji semantycznej OpenTelemetry na osobną nazwaną kolumnę. Efektem jest płaska, wyraźnie zdefiniowana tabela, w której możesz bezpośrednio sortować, filtrować i skanować generatywne pola AI, takie jak nazwa narzędzia, model, prompt użytkownika, odpowiedź agenta czy identyfikator konwersacji. Zastąp symbol zastępczy Agent name imieniem agenta.
let Window = 7d;
let AgentName = "<Agent name>";
let LatestConvo =
toscalar(
dependencies
| where timestamp > ago(Window)
| extend
AgentName_ = tostring(customDimensions["gen_ai.agent.name"]),
ConversationId_ = tostring(customDimensions["gen_ai.conversation.id"])
| where AgentName_ == AgentName
| where isnotempty(ConversationId_)
| summarize arg_max(timestamp, ConversationId_)
| project ConversationId_
);
dependencies
| where timestamp > ago(Window)
| extend
ConversationId = tostring(customDimensions["gen_ai.conversation.id"])
| where ConversationId == LatestConvo
| extend
OperationName = tostring(customDimensions["gen_ai.operation.name"]),
AgentId = tostring(customDimensions["gen_ai.agent.id"]),
AgentName = tostring(customDimensions["gen_ai.agent.name"]),
Model = tostring(customDimensions["gen_ai.request.model"]),
ToolName = tostring(customDimensions["gen_ai.tool.name"]),
ToolType = tostring(customDimensions["gen_ai.tool.type"]),
ToolCallId = tostring(customDimensions["gen_ai.tool.call.id"]),
ToolArguments = tostring(customDimensions["gen_ai.tool.call.arguments"]),
ToolResult = tostring(customDimensions["gen_ai.tool.call.result"]),
EnvironmentId = tostring(customDimensions["env.id"]),
TenantId = tostring(customDimensions["microsoft.tenant.id"]),
ChannelName = tostring(customDimensions["microsoft.channel.name"]),
BlueprintId = tostring(customDimensions["microsoft.a365.agent.blueprint.id"]),
PlatformId = tostring(customDimensions["microsoft.a365.agent.platform.id"]),
ResourceProvider = tostring(customDimensions["resource.provider"]),
SignalCategory = tostring(customDimensions["signal.category"]),
UserId = tostring(customDimensions["user.id"]),
UserName = tostring(customDimensions["user.name"]),
UserEmail = tostring(customDimensions["user.email"])
| extend
InputMessages = parse_json(tostring(customDimensions["gen_ai.input.messages"])),
OutputMessages = parse_json(tostring(customDimensions["gen_ai.output.messages"]))
| extend
UserInput = tostring(InputMessages[0].parts[0].content),
AgentOutput = tostring(OutputMessages[0].parts[0].content)
| order by
operation_Id asc,
iff(name == "InvokeAgent", 0, 1) asc,
timestamp asc
| project
timestamp, name, id, operation_Id, operation_ParentId, OperationName, ConversationId,
AgentId, AgentName, Model, ToolName, ToolType, ToolCallId, ToolArguments, ToolResult,
UserInput, AgentOutput, EnvironmentId, TenantId, ChannelName, BlueprintId, PlatformId,
ResourceProvider, SignalCategory, UserId, UserName, UserEmail, duration, target, type,
cloud_RoleName, resultCode, customDimensions
Zapytanie 4: Dynamicznie rozwiń wszystkie właściwości genAI OpenTelemetry
To zapytanie zwraca te same zakresy co zapytanie 3, ale każdy klucz gen_ai.* jest dynamicznie rozpakowywany z customDimensions do osobnej kolumny z prefiksem ga_. Ponieważ projekcja jest dynamiczna, każdy nowy gen_ai.* atrybut generowany przez SDK pojawia się automatycznie, bez zmiany zapytania. Zastąp symbol zastępczy Agent name imieniem agenta.
let Window = 7d;
let AgentName = "<Agent name>";
let LatestConvo = toscalar(
dependencies
| where timestamp > ago(Window)
| where tostring(customDimensions["gen_ai.agent.name"]) == AgentName
| where isnotempty(tostring(customDimensions["gen_ai.conversation.id"]))
| top 1 by timestamp desc
| project tostring(customDimensions["gen_ai.conversation.id"])
);
dependencies
| where timestamp > ago(Window)
| where tostring(customDimensions["gen_ai.conversation.id"]) == LatestConvo
| order by operation_Id asc, iff(name == "InvokeAgent", 0, 1) asc, timestamp asc
| mv-apply Key = bag_keys(customDimensions) on (
where Key startswith "gen_ai."
| summarize OTelGenAI = make_bag(bag_pack(tostring(Key), customDimensions[tostring(Key)]))
)
| project timestamp, name, id, operation_Id, operation_ParentId,
duration, target, type, cloud_RoleName, resultCode,
OTelGenAI, customDimensions
| evaluate bag_unpack(OTelGenAI, 'ga_')
Zapytanie 5: Zwróć najnowszą rozmowę dla agenta głównego ze wszystkimi jego potomnymi, w tym podagentami
To zapytanie zwraca najnowszą rozmowę dla wskazanego agenta. Zwraca wszystkie spany dla tej konwersacji oraz dla wszystkich podagentów pierwszego poziomu, które ta konwersacja wywołała. Gdy agent wywołuje innego agenta jako narzędzie, podagent dziedziczy identyfikator rozmowy rodzica z _<subConversationId> sufiksem. Całe drzewo jest rekonstruowane przez dopasowanie do najwyższego poziomu ID. Zastąp symbol zastępczy Agent name imieniem agenta.
let Window = 7d;
let AgentName = "<Agent name>";
let LatestRoot =
toscalar(
dependencies
| where timestamp > ago(Window)
| extend
AgentName_ = tostring(customDimensions["gen_ai.agent.name"]),
ConversationId = tostring(customDimensions["gen_ai.conversation.id"])
| where AgentName_ == AgentName
| where isnotempty(ConversationId)
| where ConversationId !has "_"
| summarize arg_max(timestamp, ConversationId)
| project ConversationId
);
dependencies
| where timestamp > ago(Window)
| extend
ConversationId = tostring(customDimensions["gen_ai.conversation.id"]),
AgentName_ = tostring(customDimensions["gen_ai.agent.name"]),
ToolName = tostring(customDimensions["gen_ai.tool.name"]),
ToolResult = tostring(customDimensions["gen_ai.tool.callresult"])
| where isnotempty(ConversationId)
| where ConversationId == LatestRoot
or ConversationId startswith strcat(LatestRoot, "_")
| extend
Depth = countof(ConversationId, "_"),
AgentRole = iff(ConversationId == LatestRoot, "root", "sub-agent")
| extend
InputMessages = parse_json( tostring(customDimensions["gen_ai.input.messages"]) ),
OutputMessages = parse_json( tostring(customDimensions["gen_ai.output.messages"]) )
| extend
UserInput = tostring(InputMessages[0].parts[0].content),
AgentOutput = tostring(OutputMessages[0].parts[0].content)
| order by timestamp asc
| project
timestamp, name, AgentRole, Depth, AgentName, ToolName, ToolResult, UserInput,
AgentOutput, id, operation_Id, operation_ParentId, ConversationId, duration,
target, type, cloud_RoleName, resultCode, customDimensions
Znane ograniczenia i kwestie do rozważenia
- Wartość
durationnie jest dostępna dla śladów agentów zasilanych standardową wiązką. - Błędy w wykonywaniu agentów i narzędzi nie są obecnie poprawnie odzwierciedlane w statusach śledzenia.
- W zależności od wymagań dotyczących rezydencji danych, możesz chcieć korzystać z dedykowanych zasobów Application Insights dla każdego regionu środowiska.
- Rozpiętości podagentów obecnie mają jako element nadrzędny rozpiętość
InvokeAgent, która wywołała agenta, zamiast rozpiętościInvokeAgentwewnątrz ich własnego śladu. - Identyfikatory śledzenia i spanów są obecnie emitowane jako identyfikatory GUID (z prefiksem tam, gdzie jest to wymagane), a nie jako w pełni zgodne ze standardem OpenTelemetry 32-znakowe szesnastkowe trace ID i 16-znakowe szesnastkowe span ID.
- Upewnij się, że lokalne uwierzytelnianie jest włączone na docelowym zasobie Application Insights.
- Eksport telemetrii nie jest transakcyjny. Podczas przejściowych zdarzeń usługowych mogą wystąpić niewielkie straty danych.
- Niespójności danych mogą wystąpić podczas wdrażania aktualizacji importu danych związanych ze schematem.
- Zdarzenia związane z tematem, takie jak
TopicStart,TopicAction, iTopicEndnie są rejestrowane telemetrią na poziomie środowiskowym. - Aby uprościć raportowanie i rozwiązywanie problemów, unikaj wysyłania telemetrii na poziomie agenta i środowiska do tej samej instancji Application Insights.
- Telemetria generowana przez agentów tworzonych w środowisku tworzenia agentów opartych na platformie GitHub Copilot może różnić się od telemetrii generowanej przez agentów tworzonych w środowisku tworzenia agentów opartych na standardowej platformie.