feat: improve federation chart
This commit is contained in:
parent
7d494f1ddf
commit
f4e28983a1
5 changed files with 39 additions and 7 deletions
19
packages/backend/migration/1644331238153-chart-v13.js
Normal file
19
packages/backend/migration/1644331238153-chart-v13.js
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
const { MigrationInterface, QueryRunner } = require("typeorm");
|
||||||
|
|
||||||
|
module.exports = class chartV131644331238153 {
|
||||||
|
name = 'chartV131644331238153'
|
||||||
|
|
||||||
|
async up(queryRunner) {
|
||||||
|
await queryRunner.query(`ALTER TABLE "__chart__federation" ADD "unique_temp___stalled" character varying array NOT NULL DEFAULT '{}'`);
|
||||||
|
await queryRunner.query(`ALTER TABLE "__chart__federation" ADD "___stalled" smallint NOT NULL DEFAULT '0'`);
|
||||||
|
await queryRunner.query(`ALTER TABLE "__chart_day__federation" ADD "unique_temp___stalled" character varying array NOT NULL DEFAULT '{}'`);
|
||||||
|
await queryRunner.query(`ALTER TABLE "__chart_day__federation" ADD "___stalled" smallint NOT NULL DEFAULT '0'`);
|
||||||
|
}
|
||||||
|
|
||||||
|
async down(queryRunner) {
|
||||||
|
await queryRunner.query(`ALTER TABLE "__chart_day__federation" DROP COLUMN "___stalled"`);
|
||||||
|
await queryRunner.query(`ALTER TABLE "__chart_day__federation" DROP COLUMN "unique_temp___stalled"`);
|
||||||
|
await queryRunner.query(`ALTER TABLE "__chart__federation" DROP COLUMN "___stalled"`);
|
||||||
|
await queryRunner.query(`ALTER TABLE "__chart__federation" DROP COLUMN "unique_temp___stalled"`);
|
||||||
|
}
|
||||||
|
}
|
|
@ -62,7 +62,7 @@ export default async (job: Bull.Job<DeliverJobData>) => {
|
||||||
|
|
||||||
instanceChart.requestSent(i.host, true);
|
instanceChart.requestSent(i.host, true);
|
||||||
apRequestChart.deliverSucc();
|
apRequestChart.deliverSucc();
|
||||||
federationChart.deliverd(i.host);
|
federationChart.deliverd(i.host, true);
|
||||||
});
|
});
|
||||||
|
|
||||||
return 'Success';
|
return 'Success';
|
||||||
|
@ -77,6 +77,7 @@ export default async (job: Bull.Job<DeliverJobData>) => {
|
||||||
|
|
||||||
instanceChart.requestSent(i.host, false);
|
instanceChart.requestSent(i.host, false);
|
||||||
apRequestChart.deliverFail();
|
apRequestChart.deliverFail();
|
||||||
|
federationChart.deliverd(i.host, false);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (res instanceof StatusError) {
|
if (res instanceof StatusError) {
|
||||||
|
|
|
@ -8,6 +8,7 @@ export const schema = {
|
||||||
'instance.dec': { range: 'small' },
|
'instance.dec': { range: 'small' },
|
||||||
'deliveredInstances': { uniqueIncrement: true, range: 'small' },
|
'deliveredInstances': { uniqueIncrement: true, range: 'small' },
|
||||||
'inboxInstances': { uniqueIncrement: true, range: 'small' },
|
'inboxInstances': { uniqueIncrement: true, range: 'small' },
|
||||||
|
'stalled': { uniqueIncrement: true, range: 'small' },
|
||||||
} as const;
|
} as const;
|
||||||
|
|
||||||
export const entity = Chart.schemaToEntity(name, schema);
|
export const entity = Chart.schemaToEntity(name, schema);
|
||||||
|
|
|
@ -33,9 +33,11 @@ export default class FederationChart extends Chart<typeof schema> {
|
||||||
}
|
}
|
||||||
|
|
||||||
@autobind
|
@autobind
|
||||||
public async deliverd(host: string): Promise<void> {
|
public async deliverd(host: string, succeeded: boolean): Promise<void> {
|
||||||
await this.commit({
|
await this.commit(succeeded ? {
|
||||||
'deliveredInstances': [host],
|
'deliveredInstances': [host],
|
||||||
|
} : {
|
||||||
|
'stalled': [host],
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -372,18 +372,27 @@ export default defineComponent({
|
||||||
name: 'Instances total',
|
name: 'Instances total',
|
||||||
type: 'area',
|
type: 'area',
|
||||||
data: format(raw.instance.total),
|
data: format(raw.instance.total),
|
||||||
|
color: '#888888',
|
||||||
}, {
|
}, {
|
||||||
name: 'Instances inc/dec',
|
name: 'Instances inc/dec',
|
||||||
type: 'area',
|
type: 'area',
|
||||||
data: format(sum(raw.instance.inc, negate(raw.instance.dec))),
|
data: format(sum(raw.instance.inc, negate(raw.instance.dec))),
|
||||||
}, {
|
color: colors.purple,
|
||||||
name: 'Delivered instances',
|
|
||||||
type: 'area',
|
|
||||||
data: format(raw.deliveredInstances),
|
|
||||||
}, {
|
}, {
|
||||||
name: 'Inbox instances',
|
name: 'Inbox instances',
|
||||||
type: 'area',
|
type: 'area',
|
||||||
data: format(raw.inboxInstances),
|
data: format(raw.inboxInstances),
|
||||||
|
color: colors.blue,
|
||||||
|
}, {
|
||||||
|
name: 'Delivered instances',
|
||||||
|
type: 'area',
|
||||||
|
data: format(raw.deliveredInstances),
|
||||||
|
color: colors.green,
|
||||||
|
}, {
|
||||||
|
name: 'Stalled instances',
|
||||||
|
type: 'area',
|
||||||
|
data: format(raw.stalled),
|
||||||
|
color: colors.red,
|
||||||
}],
|
}],
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue