mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	Ability to execute a task immediately
This commit is contained in:
		
							parent
							
								
									8cda5cd986
								
							
						
					
					
						commit
						e2cd347e8e
					
				@ -22,17 +22,19 @@ export class DbMetricsMonitor {
 | 
			
		||||
 | 
			
		||||
    constructor() {}
 | 
			
		||||
 | 
			
		||||
    registerGaugeDbMetric<T>(definition: GaugeDefinition<T>) {
 | 
			
		||||
    registerGaugeDbMetric<T>(definition: GaugeDefinition<T>): Task {
 | 
			
		||||
        const gauge = createGauge(definition);
 | 
			
		||||
        this.gauges.set(definition.name, gauge);
 | 
			
		||||
        this.tasks.add(async () => {
 | 
			
		||||
        const task = async () => {
 | 
			
		||||
            const result = await definition.query();
 | 
			
		||||
            if (result) {
 | 
			
		||||
            if (result !== null && result !== undefined) {
 | 
			
		||||
                const { count, labels } = definition.map(result);
 | 
			
		||||
                gauge.reset();
 | 
			
		||||
                gauge.labels(labels).set(count);
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
        };
 | 
			
		||||
        this.tasks.add(task);
 | 
			
		||||
        return task;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    refreshDbMetrics = async () => {
 | 
			
		||||
 | 
			
		||||
@ -117,13 +117,16 @@ export default class MetricsMonitor {
 | 
			
		||||
            help: 'Number of times a feature flag has been used',
 | 
			
		||||
            labelNames: ['toggle', 'active', 'appName'],
 | 
			
		||||
        });
 | 
			
		||||
        dbMetrics.registerGaugeDbMetric({
 | 
			
		||||
 | 
			
		||||
        // schedule and execute immediately
 | 
			
		||||
        await dbMetrics.registerGaugeDbMetric({
 | 
			
		||||
            name: 'feature_toggles_total',
 | 
			
		||||
            help: 'Number of feature flags',
 | 
			
		||||
            labelNames: ['version'],
 | 
			
		||||
            query: () => instanceStatsService.getToggleCount(),
 | 
			
		||||
            map: (count) => ({ count, labels: { version } }),
 | 
			
		||||
        });
 | 
			
		||||
        })();
 | 
			
		||||
 | 
			
		||||
        dbMetrics.registerGaugeDbMetric({
 | 
			
		||||
            name: 'max_feature_environment_strategies',
 | 
			
		||||
            help: 'Maximum number of environment strategies in one feature',
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user