@@ -6,10 +6,10 @@ use std::{
66use futures:: { Stream , StreamExt } ;
77use pixi_build_discovery:: JsonRpcBackendSpec ;
88use pixi_command_dispatcher:: {
9- BackendSourceBuildSpec , BuildBackendMetadataInner , CondaSolveReporter , GitCheckoutReporter ,
10- InstallPixiEnvironmentSpec , PixiInstallReporter , PixiSolveEnvironmentSpec , PixiSolveReporter ,
11- SolveCondaEnvironmentSpec , SourceMetadataReporterSpec , SourceRecordReporterSpec ,
12- UrlCheckoutReporter ,
9+ BackendSourceBuildSpec , BuildBackendMetadataInner , CondaSolveReporter , GatewayReporter ,
10+ GitCheckoutReporter , InstallPixiEnvironmentSpec , PixiInstallReporter , PixiSolveEnvironmentSpec ,
11+ PixiSolveReporter , SolveCondaEnvironmentSpec , SourceMetadataReporterSpec ,
12+ SourceRecordReporterSpec , UrlCheckoutReporter ,
1313 reporter:: {
1414 BackendSourceBuildReporter , BuildBackendMetadataReporter , InstantiateBackendReporter ,
1515 SourceMetadataReporter , SourceRecordReporter ,
@@ -141,6 +141,15 @@ pub enum Event {
141141 InstantiateBackendFinished {
142142 id : OperationId ,
143143 } ,
144+
145+ /// Recorded each time a gateway-query site requests a per-call
146+ /// repodata reporter. `id` is a fresh op id for the query itself;
147+ /// its parent in the registry is the started operation that
148+ /// triggered the fetch (carried in `op_id`).
149+ GatewayQuery {
150+ id : OperationId ,
151+ op_id : OperationId ,
152+ } ,
144153}
145154
146155pub struct EventReporter {
@@ -413,6 +422,17 @@ impl InstantiateBackendReporter for EventReporter {
413422 }
414423}
415424
425+ impl GatewayReporter for EventReporter {
426+ fn create_gateway_reporter (
427+ & self ,
428+ op_id : OperationId ,
429+ ) -> Option < Box < dyn rattler_repodata_gateway:: Reporter > > {
430+ let id = self . alloc ( ) ;
431+ self . record ( Event :: GatewayQuery { id, op_id } ) ;
432+ None
433+ }
434+ }
435+
416436impl BackendSourceBuildReporter for EventReporter {
417437 fn on_queued ( & self , spec : & BackendSourceBuildSpec ) -> OperationId {
418438 let id = self . alloc ( ) ;
@@ -462,6 +482,7 @@ impl EventReporter {
462482 . with_source_metadata_reporter ( self . clone ( ) )
463483 . with_source_record_reporter ( self . clone ( ) )
464484 . with_backend_source_build_reporter ( self . clone ( ) )
485+ . with_gateway_reporter ( self . clone ( ) )
465486 }
466487}
467488
0 commit comments