microsoft.opentelemetry.a365.core.exporters.persistent_storage module

Secure SQLite-backed durable queue for A365 telemetry delivery.

class microsoft.opentelemetry.a365.core.exporters.persistent_storage.DurableRecord(schema_version, tenant_id, agent_id, agentic_user_id, use_s2s_endpoint, payload, created_at, lease_until=None, retry_count=0, record_id=None)[source]

Bases: object

An envelope for one telemetry payload.

schema_version: int
tenant_id: str
agent_id: str
agentic_user_id: str | None
use_s2s_endpoint: bool
payload: str
created_at: float
lease_until: float | None = None
retry_count: int = 0
record_id: int | None = None
static new(key, payload)[source]

Construct an unpersisted record from an IdentityKey.

Return type:

DurableRecord

class microsoft.opentelemetry.a365.core.exporters.persistent_storage.PersistentStorage(directory=None, capacity_bytes=52428800, retention_seconds=172800)[source]

Bases: object

Thread-safe SQLite-backed durable record queue.

store(record)[source]

Persist a record. Returns False (and logs) if storage fails.

Return type:

bool

claim(limit, lease_seconds)[source]

Atomically lease up to limit unleased records.

Return type:

list[DurableRecord]

delete(record_id)[source]

Delete a record by id. Returns False if not found or on error.

Return type:

bool

release(record_id)[source]

Release a lease so the record becomes claimable again.

Return type:

bool

close()[source]

Close the underlying SQLite connection.

Return type:

None