Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Waarneembaarheid biedt inzicht in de interne status en het gedrag van werkstromen tijdens de uitvoering. Dit omvat mogelijkheden voor logboekregistratie, metrische gegevens en tracering die helpen bij het bewaken en opsporen van fouten in werkstromen.
Aanbeveling
Waarneembaarheid is een frameworkbrede functie en is niet beperkt tot werkstromen. Zie Waarneembaarheid voor meer informatie.
Afgezien van de standaard GenAI-telemetrie, verzendt Agent Framework-werkstromen extra spanten, logboeken en metrische gegevens om meer inzicht te krijgen in de uitvoering van werkstromen. Deze waarneembaarheidsfuncties helpen ontwikkelaars inzicht te hebben in de stroom berichten, de prestaties van uitvoerders en eventuele fouten die kunnen optreden.
Waarneembaarheid inschakelen
Raadpleeg Waarneembaarheid inschakelen voor instructies over het inschakelen van waarneembaarheid in uw toepassingen.
Raadpleeg Waarneembaarheid inschakelen voor instructies over het inschakelen van waarneembaarheid in uw toepassingen.
Werkstroomduur
De volgende spans worden gegenereerd tijdens de uitvoering van de workflow:
| Span Naam | Description |
|---|---|
workflow.build |
Wordt uitgegeven voor elke workflow build. |
workflow.session |
Buitenste bereik dat de volledige levensduur van een workflow-uitvoering vertegenwoordigt, van begin tot fout of einde. |
workflow_invoke |
Uitgezonden voor elke input-tot-stop-cyclus binnen een werkstroomsessie. |
executor.process {executor_id} |
Verzonden voor elke uitvoerder die een bericht verwerkt. De executor-ID wordt aan de spannaam toegevoegd. |
edge_group.process |
Verzonden voor elke randgroep die een bericht verwerkt. |
message.send |
Uitgevoerd voor elk bericht dat van een uitvoerder naar een andere uitvoerder wordt gestuurd. |
De volgende segmenten worden gegenereerd tijdens de uitvoering van de werkstroom:
| Span Naam | Description |
|---|---|
workflow.build |
Uitgevoerd voor elke workflow-build. |
workflow.run |
Uitgezonden voor elke uitvoering van de workflow. |
executor.process {executor_id} |
Verzonden voor elke uitvoerder die een bericht verwerkt. De uitvoerder-id wordt toegevoegd aan de span-naam. |
edge_group.process {edge_group_type} |
Verzonden voor elke randgroep die een bericht verwerkt. Het type randgroep wordt toegevoegd aan de spannaam. |
message.send |
Uitgezonden voor elk bericht dat van een uitvoerder naar een andere uitvoerder wordt verzonden. |
Span-kenmerken
Spans bevatten attributen die aanvullende context bieden over de operatie. De volgende kenmerken zijn ingesteld op werkstroombereiken:
| Attribute | Span(nen) | Description |
|---|---|---|
workflow.id |
workflow.build, workflow.session |
De unieke identificator van de werkstroom. |
workflow.name |
workflow.session |
De naam van de workflow. |
workflow.description |
workflow.session |
De beschrijving van de werkstroom. |
workflow.definition |
workflow.build |
De JSON-definitie van de werkstroomgrafiek. |
session.id |
workflow.session |
De unieke sessie-id. |
executor.id |
executor.process |
De unieke identificatie van de uitvoerder. |
executor.type |
executor.process |
De typenaam van de uitvoerder. |
executor.input |
executor.process |
Het invoerbericht Alleen instellen wanneer gevoelige gegevens zijn ingeschakeld. |
executor.output |
executor.process |
De uitvoer van de verwerker. Alleen instellen wanneer gevoelige gegevens zijn ingeschakeld. |
message.type |
executor.process, message.send |
De typenaam van het bericht. |
message.content |
message.send |
De inhoud van het bericht. Alleen instellen wanneer gevoelige gegevens zijn ingeschakeld. |
message.source_id |
message.send |
De id van de uitvoerder die het bericht heeft verzonden. |
message.target_id |
message.send |
De id van de doeluitvoerer, indien opgegeven. |
edge_group.type |
edge_group.process |
Het type randgroep. |
edge_group.delivered |
edge_group.process |
Of het bericht wel of niet is bezorgd (booleaanse waarde). |
edge_group.delivery_status |
edge_group.process |
Het leveringsresultaat (zie Edge Group Delivery Status). |
error.type |
Elk bereik op fout | De naam van het uitzonderingstype. |
| Attribute | Span(s) | Description |
|---|---|---|
workflow.id |
workflow.build, workflow.run |
De unieke identificatie van de werkstroom. |
workflow.name |
workflow.run |
De naam van de workflow. |
workflow.description |
workflow.run |
De beschrijving van de werkstroom. |
workflow.definition |
workflow.build |
De JSON-definitie van de werkstroomgrafiek. |
workflow_builder.name |
workflow.build |
De naam van de bouwer voor werkstromen. |
workflow_builder.description |
workflow.build |
De beschrijving van de workflowbouwer. |
executor.id |
executor.process |
De unieke identificatie van de uitvoerder. |
executor.type |
executor.process |
De typenaam van de uitvoerder. |
message.type |
executor.process, message.send |
De typenaam van het bericht. |
message.payload_type |
executor.process |
Het gegevenstype van de payload van het bericht. |
message.destination_executor_id |
message.send |
De id van de doeluitvoerer, indien opgegeven. |
message.source_id |
edge_group.process |
De id van de uitvoerder die het bericht heeft verzonden. |
message.target_id |
edge_group.process |
De id van de doeluitvoerer, indien opgegeven. |
edge_group.type |
edge_group.process |
Het type randgroep. |
edge_group.id |
edge_group.process |
De unieke identificatiecode van de edge-groep. |
edge_group.delivered |
edge_group.process |
Of het bericht wel of niet is bezorgd (booleaanse waarde). |
edge_group.delivery_status |
edge_group.process |
Het leveringsresultaat (zie Edge Group Delivery Status). |
Span Events
Span-gebeurtenissen zijn gestructureerde logboekvermeldingen die zijn gekoppeld aan spans en bieden een tijdlijn met belangrijke momenten binnen elke periode.
| Gebeurtenisnaam | Span(s) | Description |
|---|---|---|
build.started |
workflow.build |
Verzonden wanneer het buildproces begint. |
build.validation_completed |
workflow.build |
Verzonden wanneer de buildvalidatie is geslaagd. |
build.completed |
workflow.build |
Uitgezonden wanneer de build succesvol is voltooid. |
build.error |
workflow.build |
Verzonden wanneer de build mislukt. |
session.started |
workflow.session |
Verzonden wanneer een werkstroomsessie begint. |
session.completed |
workflow.session |
Verzonden wanneer een werkstroomsessie is voltooid. |
session.error |
workflow.session |
Verzonden wanneer een werkstroomsessie een fout tegenkomt. |
workflow.started |
workflow_invoke |
Wordt gegenereerd wanneer een aanroep van een werkstroom begint. |
workflow.completed |
workflow_invoke |
Verzonden wanneer een aanroep van een werkstroom is voltooid. |
workflow.error |
workflow_invoke |
Verzonden wanneer een aanroep van een werkstroom een fout tegenkomt. |
| Gebeurtenisnaam | Span(s) | Description |
|---|---|---|
build.started |
workflow.build |
Verzonden wanneer het buildproces begint. |
build.validation_completed |
workflow.build |
Verzonden wanneer de buildvalidatie is geslaagd. |
build.completed |
workflow.build |
Uitgezonden wanneer de build succesvol is voltooid. |
build.error |
workflow.build |
Verzonden wanneer de build mislukt. |
workflow.started |
workflow.run |
Verzonden wanneer een werkstroomuitvoering begint. |
workflow.completed |
workflow.run |
Geactiveerd wanneer een workflow voltooid is. |
workflow.error |
workflow.run |
Verzonden wanneer een werkstroomuitvoering een fout tegenkomt. |
Koppelingen tussen spans
Wanneer een uitvoerder een bericht naar een andere uitvoerder verzendt, wordt de message.send span gemaakt als een kind van de executor.process span. Het executor.process bereik van de doeluitvoerder is echter geen kind van de message.send span omdat de uitvoering niet genest is. In plaats daarvan wordt het executor.process bereik van de doeluitvoerer gekoppeld aan het message.send bereik van de bronexecutor. Door deze koppeling ontstaat een traceerbaar pad door de uitvoering van de workflow zonder het impliceren van een geneste aanroephiërarchie.
Dezelfde koppelingsbenadering is van toepassing op edge_group.process spans, die zijn gekoppeld aan de bronspanne message.send voor causaliteitstracering. Dit biedt ondersteuning voor fan-in scenario's waarbij meerdere bronspanne bijdragen aan één verwerkingsspanne.
Bezorgingsstatus Edge Group
Verwerking van Edgegroepen omvat leveringsstatuskenmerken die aangeven het resultaat van de berichtroutering via elke Edgegroep. Het edge_group.delivery_status kenmerk is ingesteld op een van de volgende waarden:
| Status | Description |
|---|---|
delivered |
Het bericht is afgeleverd aan de doeluitvoerder. |
dropped type mismatch |
De doeluitvoerer kan het berichttype niet verwerken. |
dropped target mismatch |
Het bericht heeft een doel opgegeven dat niet overeenkomt met deze rand. |
dropped condition false |
De randrouteringsvoorwaarde was false. |
exception |
Er is een uitzondering opgetreden tijdens het verwerken van de rand. |
buffered |
Het bericht is gebufferd en wacht op extra berichten (fan-in). |
Het edge_group.delivered booleaanse kenmerk biedt een snelle controle of het bericht is bezorgd.
Telemetrieconfiguratie
Werkstroomtelemetrie kan worden ingeschakeld via de WithOpenTelemetry extensiemethode in de workflow builder. De WorkflowTelemetryOptions klasse biedt nauwkeurige controle over welke spanten worden verzonden:
| Option | Verstek | Description |
|---|---|---|
EnableSensitiveData |
false |
Bevat onbewerkte invoer, uitvoer en berichtinhoud in spankenmerken. |
DisableWorkflowBuild |
false |
workflow.build Schakelt spans uit. |
DisableWorkflowRun |
false |
Schakelt workflow.session en workflow_invoke uit. |
DisableExecutorProcess |
false |
executor.process Schakelt spans uit. |
DisableEdgeGroupProcess |
false |
edge_group.process Schakelt spans uit. |
DisableMessageSend |
false |
message.send Schakelt spans uit. |
Waarschuwing
Als u gevoelige gegevens inschakelt, worden ruwe berichtinhoud, invoer en uitvoer van uitvoerders opgenomen in telemetrie. Schakel dit alleen in beveiligde omgevingen in waar telemetriegegevens op de juiste wijze worden beveiligd.
Werkstroomtelemetrie wordt ingeschakeld via de globale enable_instrumentation() functie. Wanneer instrumentatie is ingeschakeld, worden alle werkstroombereiken automatisch verzonden. De configure_otel_providers() functie kan worden gebruikt om exporteurs in te stellen voor traceringen, metrische gegevens en logboeken.
Waarschuwing
Controleer de configuratie van uw telemetriepijplijn om ervoor te zorgen dat gevoelige gegevens op de juiste wijze worden beveiligd bij het exporteren van traceringen.