@@ -114,15 +114,55 @@ Task IEventStore.CompactStreamAsync(string streamKey, CancellationToken token)
114114
115115 async Task < EventStoreUsage ? > IEventStore . TryCreateUsage ( CancellationToken token )
116116 {
117- var usage = new EventStoreUsage ( Database . DatabaseUri , this )
117+ // Explicitly build — no reflection via base(this)
118+ var usage = new EventStoreUsage
118119 {
120+ Subject = "Polecat.DocumentStore" ,
121+ SubjectUri = Database . DatabaseUri ,
122+ Version = GetType ( ) . Assembly . GetName ( ) . Version ? . ToString ( ) ,
119123 Database = new DatabaseUsage
120124 {
121125 Cardinality = DatabaseCardinality . Single ,
122126 MainDatabase = Database . Describe ( )
123127 }
124128 } ;
125129
130+ // Event store configuration properties
131+ usage . AddValue ( nameof ( Options . Events . StreamIdentity ) , Options . Events . StreamIdentity ) ;
132+ usage . AddValue ( nameof ( Options . Events . TenancyStyle ) , Options . Events . TenancyStyle ) ;
133+ usage . AddValue ( nameof ( Options . Events . EnableExtendedProgressionTracking ) , Options . Events . EnableExtendedProgressionTracking ) ;
134+ usage . AddValue ( nameof ( Options . Events . EnableCorrelationId ) , Options . Events . EnableCorrelationId ) ;
135+ usage . AddValue ( nameof ( Options . Events . EnableCausationId ) , Options . Events . EnableCausationId ) ;
136+ usage . AddValue ( nameof ( Options . Events . EnableHeaders ) , Options . Events . EnableHeaders ) ;
137+ if ( Options . Events . DatabaseSchemaName != null )
138+ {
139+ usage . AddValue ( nameof ( Options . Events . DatabaseSchemaName ) , Options . Events . DatabaseSchemaName ) ;
140+ }
141+
142+ // Daemon settings child
143+ var daemon = new OptionsDescription { Subject = "Polecat.DaemonSettings" } ;
144+ daemon . AddValue ( nameof ( Options . DaemonSettings . AsyncMode ) , Options . DaemonSettings . AsyncMode ) ;
145+ daemon . AddValue ( nameof ( Options . DaemonSettings . HealthCheckPollingTime ) , Options . DaemonSettings . HealthCheckPollingTime ) ;
146+ daemon . AddValue ( nameof ( Options . DaemonSettings . LeadershipPollingTime ) , Options . DaemonSettings . LeadershipPollingTime ) ;
147+ daemon . AddValue ( nameof ( Options . DaemonSettings . StaleSequenceThreshold ) , Options . DaemonSettings . StaleSequenceThreshold ) ;
148+ daemon . AddValue ( nameof ( Options . DaemonSettings . SlowPollingTime ) , Options . DaemonSettings . SlowPollingTime ) ;
149+ daemon . AddValue ( nameof ( Options . DaemonSettings . FastPollingTime ) , Options . DaemonSettings . FastPollingTime ) ;
150+ daemon . AddValue ( nameof ( Options . DaemonSettings . AgentPauseTime ) , Options . DaemonSettings . AgentPauseTime ) ;
151+ daemon . AddValue ( nameof ( Options . DaemonSettings . DaemonLockId ) , Options . DaemonSettings . DaemonLockId ) ;
152+ usage . Children [ "DaemonSettings" ] = daemon ;
153+
154+ // OpenTelemetry child
155+ var otel = new OptionsDescription { Subject = "Polecat.OpenTelemetryOptions" } ;
156+ otel . AddValue ( nameof ( Options . OpenTelemetry . TrackConnections ) , Options . OpenTelemetry . TrackConnections ) ;
157+ usage . Children [ "OpenTelemetry" ] = otel ;
158+
159+ // HiloSettings child
160+ var hilo = new OptionsDescription { Subject = "Polecat.HiloSettings" } ;
161+ hilo . AddValue ( nameof ( Options . HiloSequenceDefaults . MaxLo ) , Options . HiloSequenceDefaults . MaxLo ) ;
162+ hilo . AddValue ( nameof ( Options . HiloSequenceDefaults . SequenceName ) , Options . HiloSequenceDefaults . SequenceName ?? "default" ) ;
163+ hilo . AddValue ( nameof ( Options . HiloSequenceDefaults . MaxAdvanceToNextHiAttempts ) , Options . HiloSequenceDefaults . MaxAdvanceToNextHiAttempts ) ;
164+ usage . Children [ "HiloSequenceDefaults" ] = hilo ;
165+
126166 Options . Projections . Describe ( usage , this ) ;
127167 return usage ;
128168 }
0 commit comments