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() {}
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 () => {

View File

@ -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',