Skip to content
Tracon

TraconDiagnosticsCollector

Namespace Tracon · Assembly Tracon.Core.dll

Collects the installation’s self-diagnostic summary report.

public sealed class TraconDiagnosticsCollector

objectTraconDiagnosticsCollector

object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Has no side effects. It makes no model calls: model provider status is read from ModelProviderHealthCache without triggering a new health check. When SQL persistence is registered, it performs a light connectivity probe through ISqlPersistenceDiagnostics.GetSnapshotAsync; it does not apply migrations.

The generated TraconDiagnosticsReport contains no secret.

TraconDiagnosticsCollector(IEnumerable<IModelProvider>, ModelProviderHealthCache, IEnumerable<ISqlPersistenceDiagnostics>, IEnumerable<SqlPersistenceRegistrationMarker>, IAgentCatalog, IEnumerable<IAgentSource>, IToolRegistry, ITenantContext, IRunAttributionContext, IToolAuthorizationHandler, IRunAuthorizationHandler, IEnumerable<IRunEventSink>, IToolApprovalPresenter, IAttachmentStorage?, ModelProviderCircuitBreaker?, ILogger<TraconDiagnosticsCollector>?)

Section titled “ TraconDiagnosticsCollector(IEnumerable<IModelProvider>, ModelProviderHealthCache, IEnumerable<ISqlPersistenceDiagnostics>, IEnumerable<SqlPersistenceRegistrationMarker>, IAgentCatalog, IEnumerable<IAgentSource>, IToolRegistry, ITenantContext, IRunAttributionContext, IToolAuthorizationHandler, IRunAuthorizationHandler, IEnumerable<IRunEventSink>, IToolApprovalPresenter, IAttachmentStorage?, ModelProviderCircuitBreaker?, ILogger<TraconDiagnosticsCollector>?)”

Initializes a diagnostics collector.

public TraconDiagnosticsCollector(IEnumerable<IModelProvider> providers, ModelProviderHealthCache healthCache, IEnumerable<ISqlPersistenceDiagnostics> sqlDiagnostics, IEnumerable<SqlPersistenceRegistrationMarker> sqlMarkers, IAgentCatalog agentCatalog, IEnumerable<IAgentSource> agentSources, IToolRegistry toolRegistry, ITenantContext tenantContext, IRunAttributionContext runAttributionContext, IToolAuthorizationHandler toolAuthorizationHandler, IRunAuthorizationHandler runAuthorizationHandler, IEnumerable<IRunEventSink> runEventSinks, IToolApprovalPresenter approvalPresenter, IAttachmentStorage? attachmentStorage = null, ModelProviderCircuitBreaker? circuitBreaker = null, ILogger<TraconDiagnosticsCollector>? logger = null)

providers IEnumerable<IModelProvider>

The registered model providers.

healthCache ModelProviderHealthCache

The model provider health cache.

sqlDiagnostics IEnumerable<ISqlPersistenceDiagnostics>

The active SQL provider diagnostics contract, with zero or one instance.

sqlMarkers IEnumerable<SqlPersistenceRegistrationMarker>

The registered SQL provider markers, counted to detect more than one active provider.

agentCatalog IAgentCatalog

The agent catalog.

agentSources IEnumerable<IAgentSource>

The registered agent sources.

toolRegistry IToolRegistry

The tool registry.

tenantContext ITenantContext

The bound tenant context, reported as an embedding point.

runAttributionContext IRunAttributionContext

The bound run attribution context, reported as an embedding point.

toolAuthorizationHandler IToolAuthorizationHandler

The bound tool authorization handler, reported as an embedding point.

runAuthorizationHandler IRunAuthorizationHandler

The bound run/session authorization handler, reported as an embedding point.

runEventSinks IEnumerable<IRunEventSink>

The registered run event sinks, reported as an embedding point.

approvalPresenter IToolApprovalPresenter

The bound tool-approval presenter, reported as an embedding point.

attachmentStorage IAttachmentStorage?

The bound attachment storage, reported as an embedding point. null when content lives in the database.

circuitBreaker ModelProviderCircuitBreaker?

The circuit breaker. No circuit is open when it is not registered.

logger ILogger<TraconDiagnosticsCollector>?

The logger. When absent, a catalog read failure is ignored and the report leaves TraconDiagnosticsReport.AgentCount empty.

ArgumentNullException

A required dependency is null.

Collects the installation diagnostics report.

public ValueTask<TraconDiagnosticsReport> CollectAsync(CancellationToken cancellationToken = default)

cancellationToken CancellationToken

The cancellation token.

ValueTask<TraconDiagnosticsReport>

The report. TraconDiagnosticsReport.UiEmbedded always returns false because the field belongs to the Tracon.AspNetCore layer, which Tracon.Core does not know. The caller must set it with a with expression.