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 środowiska jest dostępna dla agentów obsługiwanych zarówno przez standardowe środowisko uruchomieniowe, jak i środowisko uruchomieniowe 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 śladów agentów programu Copilot Studio jest zapisywana w usłudze Application Insights w ukierunkowanym na ślady formacie wglądu zgodnym z OpenTelemetry, który obsługuje badania, pulpity nawigacyjne i alerty.
Zdarzenia agentów programu Copilot Studio są zapisywane w tabeli dependencies jako zasięgi. Każde wyeksportowane zdarzenie (InvokeAgent, ExecuteTool i OutputMessages) to pojedynczy wiersz span (itemType = dependency).
Jak zasięgi tworzą ślad
Telemetria jest zgodna z modelem śladów i zasięgów OpenTelemetry, odtwarzanym na podstawie kolumn operation_Id i operation_ParentId:
- Każda tura agenta jest osobnym śladem, identyfikowanym za pomocą wspólnego elementu
operation_Id, dzięki któremu usługa Application Insights może grupować tę turę i wyświetlać ją w kompleksowym widoku transakcji. - Zasięg
InvokeAgentjest poziomem głównym śladu jego tury. Powiązane elementyExecuteTooli połączone zasięgiOutputMessagessą zagnieżdżone poniżej, a każdy przenosioperation_ParentId= zasięgInvokeAgentz wartością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. - Zasięgi
OutputMessagesnie zawsze emitują elementInvokeAgentna poziomie głównym, co oznacza, że mogą (zgodnie z założeniem) dotrzeć bez pasującego elementu nadrzędnego i występować jako autonomiczny ś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ę zasięgi agentów. - Zasięgi
InvokeAgent,ExecuteTooliOutputMessageskażdej tury współdzielą elementoperation_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 zasięg w danej turze) |
operation_ParentId |
✔️ | ✔️ | ✔️ | Element InvokeAgentid tury dla zasięgów podrzędnych; poziom główny śladu dla zasięgu 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 zasięgu:
| 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 zasięgi:
- Każdy tura agenta to ślad grupowany według udostępnionego elementu
operation_Id. - Zasięg
InvokeAgentto poziom główny śladu; zasięgiExecuteTooliOutputMessagessą zagnieżdżone pod nim za pośrednictwem wartościoperation_ParentId. - Grupuj według elementu
gen_ai.conversation.id, aby połączyć wiele tur tej samej konwersacji w jeden wątek, i podziel ten identyfikator według elementu_, aby uwzględnić ślady agenta podrzędnego.
Bloki Agenty (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 program Copilot Studio zapisuje zasięgi w tabeli dependencies, bloki te odczytują bezpośrednio z tych danych:
-
Przebiegi agenta: powoduje wyświetlenie wywołań agenta utworzonych na podstawie zasięgów
InvokeAgent, wraz z czasem ich trwania, stanem powodzenia oraz informacją, do której konwersacji należy dany przebieg. Obowiązują pewne ograniczenia; Dowiedz się więcej w Znane ograniczenia i kwestie do rozważenia. -
Narzędzia: agreguje zasięgi
ExecuteTool, aby pokazać, z których narzędzi korzystają agenty, jak często oraz jakie wyniki osiągają. - 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 zasięg udostępnia ślad operation_Id, zapytania porządkują zasięgi od poziomu głównego (zasięg InvokeAgent przed zasięgami podrzędnymi) w obrębie każdego śladu.
Zapytanie 1. Zwróć pełny ślad dla wybranego identyfikatora konwersacji
To zapytanie zwraca wszystkie zasięgi dla pojedynczej znanej rozmowy, uporządkowane chronologicznie tak, aby każdy zasięg główny jest wymieniony przed zasięgami 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 zasięgi dla tej rozmowy w tej samej kolejności chronologicznej, zaczynając od poziomu 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ż analizuje każdy znany klucz konwencji semantycznej OpenTelemetry na własną 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ą konwersację dla agenta głównego ze wszystkimi jego elementami podrzędnymi, w tym agentami podrzędnymi
To zapytanie zwraca najnowszą konwersację dla nazwanego agenta. Zwraca wszystkie zasięgi dla tej konwersacji oraz dla wszystkich agentów podrzędnych pierwszego poziomu, których ta konwersacja wywołała. Gdy agent wywołuje innego agenta jako narzędzie, agent podrzędny dziedziczy identyfikator konwersacji agenta nadrzędnego z sufiksem _<subConversationId>. Całe drzewo jest odtwarzane przez dopasowanie do identyfikatora najwyższego poziomu. 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 wykonywania agentów i narzędzi nie są obecnie poprawnie odzwierciedlane w stanach śladów.
- 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.
- Zasięgi agentów podrzędnych obecnie mają jako element nadrzędny zasięg
InvokeAgent, który wywołał agenta, zamiast zasięguInvokeAgentwewnątrz własnego śladu. - Identyfikatory śladów i zasięgów są obecnie emitowane jako identyfikatory GUID (w razie potrzeby z prefiksem), a nie jako dopasowane i w pełni zgodne ze standardem OpenTelemetry 32-znakowe identyfikatory szesnastkowe i 16-znakowe identyfikatory szesnastkowe zasięgu.
- 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.
- Dane telemetryczne generowane dla agentów utworzonych jako agentów obsługiwanych przez środowisko uruchomieniowe GitHub Copilot mogą różnić się od danych telemetrycznych dla agentów utworzonych jako obsługiwanych przez standardowe środowisko uruchomieniowe.