1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-09-10 17:53:36 +02:00

Ability to execute a task immediately

This commit is contained in:
Gastón Fournier 2024-10-15 12:45:29 +02:00
parent 8cda5cd986
commit e2cd347e8e
No known key found for this signature in database
GPG Key ID: AF45428626E17A8E
2 changed files with 11 additions and 6 deletions

View File

@ -22,17 +22,19 @@ export class DbMetricsMonitor {
constructor() {} constructor() {}
registerGaugeDbMetric<T>(definition: GaugeDefinition<T>) { registerGaugeDbMetric<T>(definition: GaugeDefinition<T>): Task {
const gauge = createGauge(definition); const gauge = createGauge(definition);
this.gauges.set(definition.name, gauge); this.gauges.set(definition.name, gauge);
this.tasks.add(async () => { const task = async () => {
const result = await definition.query(); const result = await definition.query();
if (result) { if (result !== null && result !== undefined) {
const { count, labels } = definition.map(result); const { count, labels } = definition.map(result);
gauge.reset(); gauge.reset();
gauge.labels(labels).set(count); gauge.labels(labels).set(count);
} }
}); };
this.tasks.add(task);
return task;
} }
refreshDbMetrics = async () => { refreshDbMetrics = async () => {

View File

@ -117,13 +117,16 @@ export default class MetricsMonitor {
help: 'Number of times a feature flag has been used', help: 'Number of times a feature flag has been used',
labelNames: ['toggle', 'active', 'appName'], labelNames: ['toggle', 'active', 'appName'],
}); });
dbMetrics.registerGaugeDbMetric({
// schedule and execute immediately
await dbMetrics.registerGaugeDbMetric({
name: 'feature_toggles_total', name: 'feature_toggles_total',
help: 'Number of feature flags', help: 'Number of feature flags',
labelNames: ['version'], labelNames: ['version'],
query: () => instanceStatsService.getToggleCount(), query: () => instanceStatsService.getToggleCount(),
map: (count) => ({ count, labels: { version } }), map: (count) => ({ count, labels: { version } }),
}); })();
dbMetrics.registerGaugeDbMetric({ dbMetrics.registerGaugeDbMetric({
name: 'max_feature_environment_strategies', name: 'max_feature_environment_strategies',
help: 'Maximum number of environment strategies in one feature', help: 'Maximum number of environment strategies in one feature',