Class MetricsCollector


  • public class MetricsCollector
    extends Object
    Central collector managing metrics for multiple models.

    Maintains separate InferenceMetrics instances for each model, all reporting to a shared MeterRegistry.

    Usage Example:

    
     // Create collector with Prometheus registry
     PrometheusMeterRegistry registry = new PrometheusMeterRegistry(PrometheusConfig.DEFAULT);
     MetricsCollector collector = new MetricsCollector(registry);
    
     // Get metrics for specific models
     InferenceMetrics fraudMetrics = collector.getMetrics("fraud-detector");
     InferenceMetrics recommendMetrics = collector.getMetrics("recommender");
    
     // Use in inference functions
     fraudMetrics.recordInference(latency, success);
     
    Since:
    1.0.0
    Author:
    Nestor Martourez, Sr Software and Data Streaming Engineer @ CodedStreams
    • Constructor Detail

      • MetricsCollector

        public MetricsCollector()
        Creates collector with default SimpleMeterRegistry.
      • MetricsCollector

        public MetricsCollector​(io.micrometer.core.instrument.MeterRegistry meterRegistry)
        Creates collector with custom meter registry.
        Parameters:
        meterRegistry - registry for exporting metrics
    • Method Detail

      • getMetrics

        public InferenceMetrics getMetrics​(String modelId)
        Gets or creates metrics instance for a specific model.
        Parameters:
        modelId - unique identifier for the model
        Returns:
        metrics instance for this model
      • getMeterRegistry

        public io.micrometer.core.instrument.MeterRegistry getMeterRegistry()
        Gets the underlying meter registry.
        Returns:
        the meter registry used by all metrics