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:
parent
8cda5cd986
commit
e2cd347e8e
@ -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 () => {
|
||||||
|
@ -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',
|
||||||
|
Loading…
Reference in New Issue
Block a user