Skip to main content

microsoft-agents-a365-observability-core

PyPI PyPI Downloads

Telemetry, tracing, and monitoring components for AI agents built on OpenTelemetry. This package provides structured spans for agent invocation, tool execution, and LLM inference with context propagation and pluggable exporters.

Already using OpenTelemetry? This SDK detects an existing TracerProvider and adds its processors to it — your spans flow to your existing backend (Azure Monitor, OTLP collector, vendor exporter, etc.) and, when ENABLE_A365_OBSERVABILITY_EXPORTER is enabled with a configured token_resolver, also to the Agent 365 backend. See Integrating with existing OpenTelemetry for setup patterns and troubleshooting.

Installation

pip install microsoft-agents-a365-observability-core

Usage

For usage examples and detailed documentation, see the Observability documentation on Microsoft Learn.

Agent 365 OBS export authentication

When ENABLE_A365_OBSERVABILITY_EXPORTER is enabled, exports always use the S2S OTLP route:

/observabilityService/tenants/{tenantId}/otlp/agents/{agentId}/traces?api-version=1

The deprecated use_s2s_endpoint option is ignored, even when set to False; domain overrides change only the host. The exporter never falls back to /observability and never reads delegated request-context tokens.

Provide an app-only OBS token_resolver(agent_id, tenant_id) for the exporting agent identity. The resolver is invoked for each export batch and identity group, so it should cache the acquired token and refresh near expiry. Empty tokens or resolver failures fail that export batch without sending an HTTP request or retrying on a delegated route. If the Agent 365 exporter is enabled without a resolver, the existing ConsoleSpanExporter fallback is kept and nothing is sent to Agent 365.

Resolvers should request the OBS resource /.default scope (api://9b975845-388f-4429-889e-eab1ef63949c/.default) and validate the token before returning it: reject any scp claim and any idtyp other than app; when idtyp is absent, accept only a non-empty roles array or a non-empty oid equal to sub; also verify aud is the OBS resource and the token is not expired. Workload authentication for MCP, Microsoft Graph, and other OBO calls is separate and unchanged.

Support

For issues, questions, or feedback:

Trademarks

Microsoft, Windows, Microsoft Azure and/or other Microsoft products and services referenced in the documentation may be either trademarks or registered trademarks of Microsoft in the United States and/or other countries. The licenses for this project do not grant you rights to use any Microsoft names, logos, or trademarks. Microsoft's general trademark guidelines can be found at http://go.microsoft.com/fwlink/?LinkID=254653.

License

Copyright (c) Microsoft Corporation. All rights reserved.

Licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for microsoft-agents-a365-observability-core 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for microsoft-agents-a365-observability-core 2.0.0
File Interpreter ABI Platform
microsoft_agents_a365_observability_core-2.0.0-py3-none-any.whl Python 3 none any Details

Release files / microsoft_agents_a365_observability_core-2.0.0-py3-none-any.whl

Download URL microsoft_agents_a365_observability_core-2.0.0-py3-none-any.whl
Size 66.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d4dc65d9acd831884d46e659da2fd6f3acd35054f02c7d248f92db35bbcfad1b
BLAKE2b-256 checksum
How to use checksums
e18962188f079463c3eda34abca7da7af569420c9d35c39e2b5b32c8ae51d296
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via RestSharp/106.13.0.0

Security for microsoft-agents-a365-observability-core 2.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.0.0 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page